Echelon Neuron User Manual
Page 71
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.