⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msg.txt

📁 PC-Lint是一种静态代码检测工具
💻 TXT
📖 第 1 页 / 共 5 页
字号:
      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 + -