📄 msg.txt
字号:
differ. You can get PC-lint/FlexeLint to ignore slight
differences in the pointers by employing one or more of
the -ep... options described in Section 5.2 Error
Inhibition Options.
84 sizeof object is zero or object is undefined -- A sizeof
returned a 0 value. This could happen if the object were
undefined or incompletely defined. Make sure a complete
definition of the object is in scope when you use sizeof.
85 Array 'Symbol' has dimension 0 -- An array (named Symbol)
was declared without a dimension in a context that
required a non-zero dimension.
86 Structure 'Symbol' has no data elements -- A structure
was declared (in a C module) that had no data members.
Though legal in C++ this is not legal C.
87 Expression too complicated for #ifdef or #ifndef -- By
the rules of C there should be only a single identifier
following a #ifdef or a #ifndef. You may also supply a
validly constructed C (or C++) comment.
88 Symbol 'Symbol' is an array of empty elements -- An array
was declared (in a C module) whose elements were each of 0
length. Though legal in C++ this is not permitted C.
90 Option 'String' is only appropriate within a lint comment
-- The indicated option is not appropriate at the command
or the .lnt level. For example if -unreachable is given
on the command line you will get this message.
91 Line exceeds Integer characters (use +linebuf) -- A line
read from one of the input files is longer than
anticipated. By default the line buffer size is 600
characters. Each time you use the +linebuf option you can
double this size. The size can be doubled ad infinitum.
92 Negative array dimension or bit field length (Integer) --
A negative array dimension or bit field length is not
permitted.
93 New-line is not permitted within string arguments to
macros -- A macro invocation contains a string that is
split across more than one line. For example:
A( "Hello
World" );
will trigger this message. Some compilers accept this
construct and you can suppress this message with -e93 if
this is your current practice. But it is more portable to
place the string constant on one line. Thus
A( "Hello World" );
would be better.
101 Expected an identifier -- While processing a function
declarator, a parameter specifier was encountered that was
not an identifier, whereas a prior parameter was specified
as an identifier. This is mixing old-style function
declarations with the new-style and is not permitted. For
example
void f(n,int m)
will elicit this message.
102 Illegal parameter specification -- Within a function
declarator, a parameter must be specified as either an
identifier or as a type followed by a declarator.
103 Unexpected declaration -- After a prototype, only a
comma, semi-colon, right parenthesis or a left brace may
occur. This error could occur if you have omitted a
terminating character after a declaration or if you are
mixing old-style parameter declarations with new-style
prototypes.
104 Conflicting types -- Two consecutive conflicting types
were found such as int followed by double. Remove one of
the types!
105 Conflicting modifiers -- Two consecutive conflicting
modifiers were found such as far followed by near. Remove
one of the modifiers!
106 Illegal constant -- A string constant was found within a
preprocessor expression as in
#if ABC == "abc"
Such expressions should be integral expressions.
107 Label 'Symbol' (Location) not defined -- The Symbol at
the given Location appeared in a goto but there was no
corresponding label.
108 Invalid context -- A continue or break statement was
encountered without an appropriate surrounding context
such as a for, while, or do loop or, for the break
statement only, a surrounding switch statement.
110 Attempt to assign to void -- An attempt was made to
assign a value to an object designated (possibly through a
pointer) as void.
111 Assignment to const object -- An object declared as const
was assigned a value. This could arise via indirection.
For example, if p is a pointer to a const int then
assigning to *p will raise this error.
113 Inconsistent enum declaration -- The sequence of members
within an enum (or their values) is inconsistent with that
of another enum (usually in some other module) having the
same name.
114 Inconsistent structure declaration for tag 'Symbol' --
The sequence of members within a structure (or union) is
inconsistent with another structure (usually in some other
module) having the same name.
115 Struct/union not defined -- A reference to a structure or
a union was made that required a definition and there is
no definition in scope. For example, a reference to p->a
where p is a pointer to a struct that had not yet been
defined in the current module.
116 Inappropriate storage class -- A storage class other than
register was given in a section of code that is dedicated
to declaring parameters. The section is that part of a
function preceding the first left brace.
117 Inappropriate storage class -- A storage class was
provided outside any function that indicated either auto
or register. Such storage classes are appropriate only
within functions.
118 Too few arguments for prototype -- The number of
arguments provided for a function was less than the number
indicated by a prototype in scope.
119 Too many arguments for prototype -- The number of
arguments provided for a function was greater than the
number indicated by a prototype in scope.
122 Digit (Char) too large for radix -- The indicated
character was found in a constant beginning with zero.
For example, 08 is accepted by some compilers to represent
8 but it should be 010 or plain 8.
123 Macro 'Symbol' defined with arguments at Location this is
just a warning -- The name of a macro defined with
arguments was subsequently used without a following '('.
This is legal but may be an oversight. It is not uncommon
to suppress this message (with -e123), because some
compilers allow, for example, the macro max() to coexist
with a variable max. ( See Section 15.).
124 Pointer to void not allowed -- A pointer to void was used
in a context that does not permit void. This includes
subtraction, addition and the relationals (> >= < <=).
125 Too many storage class specifiers -- More than one
storage class specifier (static, extern, typedef, register
or auto) was found. Only one is permitted.
126 Inconsistent structure definition 'Symbol' -- The named
structure (or union or enum) was inconsistently defined
across modules. The inconsistency was recognized while
processing a lint object module. Line number information
was not available with this message. Alter the structures
so that the member information is consistent.
127 Illegal constant -- An empty character constant ('') was
found.
128 Pointer to function not allowed -- A pointer to a
function was found in an arithmetic context such as
subtraction, addition, or one of the relationals (> >= <
<=).
129 declaration expected, identifier 'Symbol' ignored -- In a
context in which a declaration was expected an identifier
was found. Moreover, the identifier was not followed by
'(' or a '['
130 Expected integral type -- The expression in a switch
statement must be some variation of an int (possibly long
or unsigned) or an enum.
131 syntax error in call of macro 'Symbol' at location
Location -- This message is issued when a macro with
arguments (function-like macro) is invoked and an
incorrect number of arguments is provided. Location is
the location of the start of the macro call. This can be
useful because an errant macro call can extend over many
lines.
132 Expected function definition -- A function declaration
with identifiers between parentheses is the start of an
old-style function definition (K&R style). This is
normally followed by optional declarations and a left
brace to signal the start of the function body. Either
replace the identifier(s) with type(s) or complete the
function with a function body.
133 Too many initializers for aggregate -- In a
brace-enclosed initializer, there are more items than
there are elements of the aggregate.
134 Missing initializer -- An initializer was expected but
only a comma was present.
135 comma assumed in initializer -- A comma was missing
between two initializers. For example:
int a[2][2] = { { 1, 2 } { 3, 4 } };
is missing a comma after the first right brace (}).
136 Illegal macro name -- The ANSI standard restricts the use
of certain names as macros. defined is on the restricted
list.
137 constant 'Symbol' used twice within switch -- The
indicated constant was used twice as a case within a
switch statement. Currently only enumerated types are
checked for repeated occurrence.
138 Can't add parent 'Symbol' to strong type String; creates
loop -- An attempt was made to add a strong type parent
to a typedef type. The attempt is either explicit (with
the -strong option) or implicit with the use of a typedef
to a known strong type. This attempt would have caused a
loop in the strong parent relationship. Such loops are
simply not tolerated.
139 Can't take sizeof function -- There is an attempt to take
the sizeof a function.
140 Type appears after modifier -- Microsoft modifiers such
as far, _near, __huge, _pascal, etc. etc. modify the
declarator to its immediate right. It therefore should
not appear before the type. For example, you should write
int pascal f(void); rather than pascal int f(void);. Note
that const and volatile differ from the Microsoft
modifiers. They may appear before or after the type.
After reporting the error an attempt is made to process
the modifiers as the programmer probably intended. See
also the +fem flag in Section 5.5 Flag Options.
141 The following option has too many elements: 'String' --
The indicated option (given by 'String') is too big. It
most likely consists of an itemized list that has too many
items. You should decompose the large option into two or
more smaller options that in sum are equivalent to the one
large option.
144 Non-existent return value for symbol 'Symbol', compare
with Location -- An attempt was made to use a
non-existent return value of the named function
(identified by Symbol). It was previously decided that
the function did not return a value or was declared with
void.
145 Type expected before operator, void assumed -- In a
context in which a type is expected no type is found.
Rather, an operator '*' or '&' was encountered. The
keyword void was assumed to have preceded this operator.
146 Assuming a binary constant -- A constant of the form
0b... was encountered. This was taken to be a binary
constant. For example, 0b100 represents the value 4. If
your compiler supports binary constants you may suppress
this message.
147 sizeof takes just one argument -- An expression of the
form sizeof(a,b) was detected. A second argument is non
standard and has been used by some compilers to denote an
option to the sizeof operator. If your compiler has a use
for the second argument then suppress this message.
148 member 'Symbol' previously declared at Location -- The
indicated member was previously declared within the same
structure or union. Although a redeclaration of a
function may appear benign it is just not permitted by the
rules of the language. One of the declarations should be
removed.
149 C++ construct 'String' found in C code -- An illegal
construct was found in C code. It looked as though it
might be suitable for C++. The quoted string identifies
the construct further.
150 Token 'String' unexpected String -- An unexpected token
was encountered. The action taken, if any, is identified
by the second message parameter.
151 Token 'Name' inconsistent with abstract type -- In a
context in which an abstract type is allowed such as
within a cast or after a sizeof, and after starting to
parse the abstract type, an identifier was found. For
example:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -