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

📄 cerrs.gml

📁 Open Watcom 的 C 编译器源代码
💻 GML
📖 第 1 页 / 共 5 页
字号:
:MSGSYM. ERR_CANT_TAKE_ADDR_OF_REGISTER
:MSGTXT. Cannot take address of variable with storage class 'register'
:MSGJTXT. 婰壇僋儔僗'register'偺曄悢偺傾僪儗僗傪庢傞偙偲偼偱偒傑偣傫
.np
If you want to take the address of a local variable, change the storage
class from
.kw register
to
.kw auto.
:MSGSYM. ERR_VAR_ALREADY_INITIALIZED
:MSGTXT. Variable '%s' already initialized
:MSGJTXT. 曄悢'%s'偼婛偵弶婜壔偝傟傑偟偨
.np
The specified variable has already been statically initialized.
:MSGSYM. ERR_MISSING_QUOTE
:MSGTXT. Ending \" missing for string literal
:MSGJTXT. 暥帤楍掕悢偺嵟屻偺\"偑偁傝傑偣傫
.np
The compiler did not find a second double quote to end the string literal.
:MSGSYM. ERR_NEED_BRACES
:MSGTXT. Data for aggregate type must be enclosed in curly braces
:MSGJTXT. 廤崌懱宆偺僨乕僞偼丆攇妵屖偵擖傟傜傟側偗傟偽側傝傑偣傫
.np
When an array, struct or union is statically initialized, the data
must be enclosed in curly braces {}.
:MSGSYM. ERR_PARM_TYPE_MISMATCH
:MSGTXT. Type of parameter %d does not agree with previous definition
:MSGJTXT. 僷儔儊乕僞%d偺宆偑慜偺掕媊偲堦抳偟傑偣傫
.np
The type of the specified parameter is incompatible with the prototype
for that function.
The following example illustrates a problem that can arise when the
sequence of declarations is in the wrong order.
.exam begin
/* Uncommenting the following line will
   eliminate the error */
/* struct foo; */

void fn1( struct foo * );

struct foo {
    int     a,b;
};

void fn1( struct foo *bar )
{
    fn2( bar );
}
.exam end
.pc
The problem can be corrected by reordering the sequence in which items
are declared (by moving the description of the structure
.id foo
ahead of its first reference or by adding the indicated statement).
This will assure that the first instance of structure
.id foo
is defined at the proper outer scope.
:MSGSYM. ERR_STG_CLASS_DISAGREES
:MSGTXT. Storage class disagrees with previous definition of '%s'
:MSGJTXT. 婰壇僋儔僗偑'%s'偺慜偺掕媊偲堦抳偟傑偣傫
.np
The previous definition of the specified variable has a storage class of
.kw static.
The current definition must have a storage class of
.kw static
or
.kw extern.
:MSGSYM. ERR_INVALID_OPTION
:MSGTXT. Invalid option '%s'
:MSGJTXT. 僆僾僔儑儞'%s'偼晄揔愗偱偡
.np
The specified option is not recognized by the compiler.
:MSGSYM. ERR_INVALID_OPTIMIZATION
:MSGTXT. Invalid optimization option '%s'
:MSGJTXT. 晄揔愗側嵟揔壔僆僾僔儑儞'%s'偱偡
.np
The specified option is an unrecognized optimization option.
:MSGSYM. ERR_INVALID_MEMORY_MODEL
:MSGTXT. Invalid memory model '%s'
:MSGJTXT. 晄揔愗側儊儌儕乕儌僨儖'%s'偱偡
.np
Memory model option must be one of "ms", "mm", "mc", "ml", "mh" or
"mf" which selects the Small, Medium, Compact, Large, Huge or Flat
memory model.
:MSGSYM. ERR_MISSING_SEMICOLON
:MSGTXT. Missing semicolon at end of declaration
:MSGJTXT. 媂尵偺廔傢傝偵僙儈僐儘儞偑偁傝傑偣傫
.np
You are missing a semicolon ";" on the declaration just before the left
curly brace "{".
:MSGSYM. ERR_MISSING_RIGHT_BRACE
:MSGTXT. Missing '}'
:MSGJTXT. '}'偑偁傝傑偣傫
.np
The compiler detected end of file before finding a right curly brace "}" to
end the current function.
:MSGSYM. ERR_INVALID_TYPE_FOR_SWITCH
:MSGTXT. Invalid type for switch expression
:MSGJTXT. switch幃偵懳偡傞晄揔愗側宆偱偡
.np
The type of a switch expression must be integral.
:MSGSYM. ERR_EXPR_MUST_BE_INTEGRAL
:MSGTXT. Expression must be integral
:MSGJTXT. 幃偼惍悢宆偱側偗傟偽側傝傑偣傫
.np
An integral expression is required.
:MSGSYM. ERR_EXPR_MUST_BE_ARITHMETIC
:MSGTXT. Expression must be arithmetic
:MSGJTXT. 幃偼嶼弍幃偱側偗傟偽側傝傑偣傫
.np
Both operands of the "*", "/" and "%" operators must be arithmetic.
The operand of the unary minus must also be arithmetic.
:MSGSYM. ERR_EXPR_MUST_BE_SCALAR
:MSGTXT. Expression must be scalar type
:MSGJTXT. 幃偼僗僇儔乕宆偱側偗傟偽側傝傑偣傫
.np
A scalar expression is required.
:MSGSYM. ERR_STMT_REQUIRED_AFTER_LABEL
:MSGTXT. Statement required after label
:MSGJTXT. 儔儀儖偺屻偵偼暥偑昁梫偱偡
.np
The C language definition requires a statement following a label.
You can use a null statement which consists of just a semicolon (";").
:MSGSYM. ERR_STMT_REQUIRED_AFTER_DO
:MSGTXT. Statement required after 'do'
:MSGJTXT. 'do'偺屻偵偼暥偑昁梫偱偡
.np
A statement is required between the
.kw do
and
.kw while
keywords.
:MSGSYM. ERR_STMT_REQUIRED_AFTER_CASE
:MSGTXT. Statement required after 'case'
:MSGJTXT. 'case'偺屻偵暥偑昁梫偱偡
.np
The C language definition requires a statement following a
.kw case
label.
You can use a null statement which consists of just a semicolon (";").
:MSGSYM. ERR_STMT_REQUIRED_AFTER_DEFAULT
:MSGTXT. Statement required after 'default'
:MSGJTXT. 'default'偺屻偵暥偑昁梫偱偡
.np
The C language definition requires a statement following a
.kw default
label.
You can use a null statement which consists of just a semicolon (";").
:MSGSYM. ERR_EXPR_TOO_COMPLICATED
:MSGTXT. Expression too complicated, split it up and try again
:MSGJTXT. 幃偑偁傑傝偵暋嶨偱偡偺偱丆暘妱偟偰嵞搙帋偟偰偔偩偝偄
.np
The expression contains too many levels of nested parentheses.
Divide the expression up into two or more sub-expressions.
:MSGSYM. ERR_MISSING_CENDIF
:MSGTXT. Missing matching #endif directive
:MSGJTXT. 懳墳偡傞#endif媅帡柦椷偑偁傝傑偣傫
.np
You are missing a
to terminate a
.id #if, #ifdef
or
.id #ifndef
preprocessing directive.
:MSGSYM. ERR_INVALID_MACRO_DEFN
:MSGTXT. Invalid macro definition, missing )
:MSGJTXT. 晄揔愗側儅僋儘掕媊偱偡丆乯偑偁傝傑偣傫
.np
The right parenthesis ")" is required for a function-like macro definition.
:MSGSYM. ERR_INCOMPLETE_MACRO
:MSGTXT. Missing ) for expansion of '%s' macro
:MSGJTXT. '%s'儅僋儘偺揥奐偵懳偡傞乯偑偁傝傑偣傫
.np
The compiler encountered end-of-file while collecting up the argument for a
function-like macro.
A right parenthesis ")" is required to mark the end of the argument(s) for
a function-like macro.
:MSGSYM. ERR_INVALID_CONVERSION
:MSGTXT. Invalid conversion
:MSGJTXT. 晄揔愗側曄姺偱偡
.np
A
.kw struct
or
.kw union
cannot be converted to anything.
A
.kw float
or
.kw double
cannot be converted to a pointer and a pointer cannot be converted to a
.kw float
or
.kw double.
:MSGSYM. ERR_USER_ERROR_MSG
:MSGTXT. %s
:MSGJTXT. %s
.np
This is a user message generated with the
.id #error
preprocessing directive.
:MSGSYM. ERR_CANT_HAVE_AN_ARRAY_OF_FUNCTIONS
:MSGTXT. Cannot define an array of functions
:MSGJTXT. 娭悢偺攝楍偼掕媊偱偒傑偣傫
.np
You can have an array of pointers to functions, but not an array
of functions.
:MSGSYM. ERR_FUNCTION_CANT_RETURN_AN_ARRAY
:MSGTXT. Function cannot return an array
:MSGJTXT. 娭悢偼攝楍傪曉偣傑偣傫
.np
A function cannot return an array.
You can return a pointer to an array.
:MSGSYM. ERR_FUNCTION_CANT_RETURN_A_FUNCTION
:MSGTXT. Function cannot return a function
:MSGJTXT. 娭悢偼娭悢傪曉偣傑偣傫
.np
You cannot return a function.
You can return a pointer to a function.
:MSGSYM. ERR_CANT_TAKE_ADDR_OF_LOCAL_VAR
:MSGTXT. Cannot take address of local variable in static initialization
:MSGJTXT. 僗僞僥傿僢僋側弶婜壔偺拞偱嬊強曄悢偺傾僪儗僗傪庢傞偙偲偼偱偒傑偣傫
.np
You cannot take the address of an
.kw auto
variable at compile time.
:MSGSYM. ERR_INCONSISTENT_USE_OF_RETURN
:MSGTXT. Inconsistent use of return statements
:MSGJTXT. return暥偺巊梡偑柕弬偟偰偄傑偡
.np
The compiler has found a
.kw return
statement which returns a value and a
.kw return
statement that does not return a value both in the same function.
The
.kw return
statement which does not return a value needs to have a
value specified to be consistent with the other
.kw return
statement in the function.
:MSGSYM. ERR_MISSING_QUESTION_OR_MISPLACED_COLON
:MSGTXT. Missing ? or misplaced :
:MSGJTXT. ?偑側偄偐丆:偺埵抲偑娫堘偭偰偄傑偡
.np
The compiler has detected a syntax error related to the "?" and ":"
operators.
You may need parenthesis around the expressions involved so that it can
be parsed correctly.
:MSGSYM. ERR_MAX_STRUCT_SIZE_IS_64K
:MSGTXT. Maximum struct or union size is 64K
:MSGJTXT. struct偍傛傃union偺戝偒偝偼嵟戝64 K偱偡
.np
The size of a
.kw struct
or
.kw union
is limited to 64K so that the compiler
can represent the offset of a member in a 16-bit register.
:MSGSYM. ERR_STMT_MUST_BE_INSIDE_FUNCTION
:MSGTXT. Statement must be inside function. Probable cause: missing {
:MSGJTXT. 暥偼娭悢偺撪晹偱側偗傟偽側傝傑偣傫丅峫偊傜傟傞尨場丗{偑偁傝傑偣傫
.np
The compiler has detected a statement such as
.kw for,
.kw while,
.kw switch,
etc., which must be inside a function.
You either have too many closing braces "}" or you are missing an
opening brace "{" earlier in the function.
:MSGSYM. ERR_MACRO_DEFN_NOT_IDENTICAL
:MSGTXT. Definition of macro '%s' not identical to previous definition
:MSGJTXT. 儅僋儘'%s'偺掕媊偑慜偺掕媊偲堦抳偟傑偣傫
.np
If a macro is defined more than once, the definitions must be identical.
If you want to redefine a macro to have a different definition, you must
.id #undef
it before you can define it with a new definition.
:MSGSYM. ERR_CANT_UNDEF_THESE_NAMES
:MSGTXT. Cannot #undef '%s'
:MSGJTXT. '%s'偼#undef偱偒傑偣傫
.np
The special macros
.id __LINE__, __FILE__, __DATE__, __TIME__, __STDC__, __FUNCTION__
and
.id __func__,
and the identifier "defined",
cannot be deleted by the
.id #undef
directive.
:MSGSYM. ERR_CANT_DEFINE_DEFINED
:MSGTXT. Cannot #define the name 'defined'
:MSGJTXT. 柤慜'defined'偼#define偱偒傑偣傫
.np
You cannot define a macro called
.id defined.
:MSGSYM. ERR_MISPLACED_SHARP_SHARP
:MSGTXT. ## must not be at start or end of replacement tokens
:MSGJTXT. ##偼抲偒姺偊僩乕僋儞偺愭摢傑偨偼嵟屻偵偁偭偰偼側傝傑偣傫
.np
There must be a token on each side of the "##" (token pasting) operator.
:MSGSYM. ERR_NO_CAST_DURING_PP
:MSGTXT. Type cast not allowed in #if or #elif expression
:MSGJTXT. 宆僉儍僗僩偼#if偁傞偄偼#elif幃偺拞偱偼嫋偝傟傑偣傫
.np
A type cast is not allowed in a preprocessor expression.
:MSGSYM. ERR_NO_SIZEOF_DURING_PP
:MSGTXT. 'sizeof' not allowed in #if or #elif expression
:MSGJTXT. 'sizeof'偼#if偐#elif幃偺拞偱嫋偝傟傑偣傫
.np
The
.kw sizeof
operator is not allowed in a preprocessor expression.
:MSGSYM. ERR_INVALID_RELOP_FOR_STRUCT_OR_UNION
:MSGTXT. Cannot compare a struct or union
:MSGJTXT. struct偁傞偄偼union偼斾妑偱偒傑偣傫
.np
A
.kw struct
or
.kw union
cannot be compared with "==" or "!=".
You must compare each member of a
.kw struct
or
.kw union
to determine equality or inequality.
If the
.kw struct
or
.kw union
is packed (has no holes in it for alignment purposes)
then you can compare two structs using
.id memcmp.
:MSGSYM. ERR_EMPTY_ENUM_LIST
:MSGTXT. Enumerator list cannot be empty
:MSGJTXT. 楍嫇巕儕僗僩偼嬻偱偁傞偙偲偑偱偒傑偣傫
.np
You must have at least one identifier in an
.kw enum
list.
:MSGSYM. ERR_INVALID_FLOATING_POINT_CONSTANT
:MSGTXT. Invalid floating-point constant
:MSGJTXT. 晄揔愗側晜摦彫悢揰掕悢偱偡
.np
The exponent part of the floating-point constant is not formed correctly.
:MSGSYM. ERR_CANT_TAKE_SIZEOF_FIELD
:MSGTXT. Cannot take sizeof a bit field
:MSGJTXT. 價僢僩僼傿乕儖僪偺sizeof傪寁嶼偡傞偙偲偼偱偒傑偣傫
.np
The smallest object that you can ask for the size of is a char.
:MSGSYM. ERR_CANT_INITIALIZE_EXTERN_VAR
:MSGTXT. Cannot initialize variable with storage class of extern
:MSGJTXT. extern偺婰壇僋儔僗偺曄悢偼弶婜壔偱偒傑偣傫
.np
A storage class of
.kw extern
is used to associate the variable with its actual definition somewhere

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -