Echelon Neuron User Manual

Page 71

Advertising
background image

Neuron Tools Errors Guide

63

NCC#

Description

147

Type defaults to ‘int’ [NCC#147]

The definition of ANSI C permits a declaration at file scope without a type.

Likewise, functions may be declared without a return type. Such
declarations must default to int, by the ANSI definition. However, such

declarations are poor programming practice, and may even indicate an

error, thus the compiler issues a warning diagnostic.

Consider the following example:

unsigned long x1, x2; x3;

Note the semicolon following x2. This is most likely a typographical error,

however, ANSI C permits this and results in x3 being declared by default
as an int. Due to white space rules, this appears the same to the compiler

as the following declaration:

unsigned long x1, x2;
x3;

This is almost certainly

not

what the programmer intended, yet most C

compilers do not issue a warning in these circumstances.

148

149

Class ‘config’ can only be used with network variables [NCC#148]

Class ‘config’ applies only to ‘input’ variables [NCC#149]

The config keyword only applies to input network variables. However, in

Neuron C Version 2, use of the config_prop (or cp) keyword declares a fully
managed configuration property, whereas the config keyword declares a

legacy configuration network variable. The legacy variable requires that

the programmer must manually code the SD information necessary to
make the config network variable known to a network management tool.

More information on configuration properties can be found in the

Neuron C

Programmer’s Guide

and the

Neuron C Reference Guide

.

150

Cannot re-declare ‘bind_info’ [NCC#150]

The bind_info modifier can appear at most once in the declaration of a
network variable or a message tag. The bind_info cannot be combined with

other bind_info by concatenation.

151

I/O function call requires arguments [NCC#151]

Insufficient arguments (or no arguments) were passed to the I/O built-in

call flagged by the compiler diagnostic. All I/O functions require at least
one argument, namely the I/O object name.

152

Name is not an I/O object name [NCC#152]

The first argument passed to the flagged I/O built-in call is not a properly

declared I/O object name. Note that in ANSI C, a general rule is that an
object must be declared before its first use.

Advertising