C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。常用于系统开发,引擎开发等应用领域。
1
2
3
4
5
|
//从void*
类型隐式转换为
int
*
类型
int
*i=
malloc
(
sizeof
(
int
)*5);
|
1
|
int
*i=(
int
*)
malloc
(
sizeof
(
int
)*5);
|
类型名 | 长度(字节) | 取值范围 |
bool | 1 | false,true |
char
|
1 | -128~127 |
signed char | 1 | -128~127 |
unsigned char | 1 | 0~255 |
short (signed short) | 2 | -32768~32767 |
unsigned short | 2 | 0~65535 |
int (signed int) | 4 | -2147483648~2147483647 |
unsigned int | 4 | 0~4294967295 |
long (signed long) | 4 | -2147483648~2147483647 |
unsigned long | 4 | 0~4294967295 |
long long (signed long long) | 8 | -9223372036854775807~9223372036854775807 |
unsigned long long | 8 | 0~18446744073709551615 |
float | 4 |
|
double | 8 |
|
long double | 8 |
|
1
2
3
4
5
6
7
8
|
struct
Student
//声明了一个名为Student的结构体
类型
{
int
num;
char
name[20];
char
sex;
};
Student stud1,stud2;
//定义了两个结构体变量stud1和stud2,它只包括数据,没有包括操作
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
class
Student
//以class开头
{
int
num;
char
name[20];
char
sex;
//以上3行是数据成员
void
display()
//这是成员函数
{
cout<<″num:″<<num<<endl;
cout<<″name:″<<name<<endl;
cout<<″sex:″<<sex<<endl;
};
//以上4行是函数中的操作语句
};
Student stud,stud1;
//定义了两个对象stud和stud
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
class
Student
//以class开头
{
private
:
//声明私有成员
intnum;
char
name[20];
char
sex;
public
:
//声明公共成员
void
display()
{
cout<<″num:″<<num<<endl;
cout<<″name:″<<name<<endl;
cout<<″sex:″<<sex<<endl;
}
};
Student stud1,stud2;
//定义了两个对象stud1和stud2
|
1
2
3
4
5
6
7
8
9
|
class
类名
{
private
:
//私有的数据和成员函数;
public
:
//公用的数据和成员函数;
};
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
class
Student{
//声明
类
类型
public
:
//先声明公用部分
void
display(){
cout<<″num:″<<num<<endl;
cout<<″name:″<<name<<endl;
cout<<″sex:″<<sex<<endl;
}
private
:
//后声明私有部分
int
num;
char
name[20];
char
sex;
}stud1,stud2;
//定义了两个Student
类的对象
|
1
2
3
4
5
6
7
8
9
10
11
|
class
//无
类名
{
private
:
//声明以下部分为私有的
//...
public
:
//声明以下部分为公用的
//...
}stud1,stud2;
//定义了两个无
类名的
类对象
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
structStudent{
//用关键字struct来声明一个
类
类型
private
:
//声明以下部分为私有的
int
num;
//以下3行为数据成员
char
name[20];
char
sex;
public
:
//声明以下部分为公用的
void
display(){
//成员函数
cout<<″num:″<<num<<endl;
cout<<″name:″<<name<<endl;
cout<<″sex:″<<sex<<endl;
}
};
Student stud1,stud2;
//定义了两个Student
类的对象
|
asm
|
do
|
if
|
return
|
typedef
|
auto
|
double
|
inline
|
short
|
typeid
|
bool
|
dynamic_cast
|
int
|
signed
|
typename
|
break
|
else
|
long
|
sizeof
|
union
|
case
|
enum
|
mutable
|
static
|
unsigned
|
catch
|
explicit
|
namespace
|
static_cast
|
using
|
char
|
export
|
new
|
struct
|
virtual
|
class
|
extern
|
operator
|
switch
|
void
|
const
|
false
|
private
|
template
|
volatile
|
const_cast
|
float
|
protected
|
this
|
wchar_t
|
continue
|
for
|
public
|
throw
|
while
|
default
|
friend
|
register
|
true
|
|
delete
|
goto
|
reinterpret_cast
|
try
|
Unix: | C, cc, cxx, c |
GNU C++: | C, cc, cxx, cpp, c++ |
Digital Mars: | cpp, cxx |
Borland: | C++ cpp |
Watcom: | cpp |
Microsoft Visual C++: | cpp, cxx, cc |
Metrowerks CodeWarrior: | cpp, cp, cc, cxx, c++ |
英文
|
参考译文
|
---|---|
Ambiguous operators need parentheses
|
模棱两可的操作符需要括号
|
Ambiguous symbol ''xxx''
|
不明确的符号
|
Argument list syntax error
|
参数表语法错误
|
Array bounds missing
|
数组界限符丢失
|
Array size toolarge
|
数组尺寸太大
|
Bad character in paramenters
|
参数中有不适当的字符
|
Bad file name format in include directive
|
包含命令中文件名格式不正确
|
Bad ifdef directive synatax
|
编译预处理ifdef有语法错
|
Bad undef directive syntax
|
编译预处理undef有语法错
|
Bit field too large
|
位字段太长
|
Call of non-function
|
调用未定义的函数
|
Call to function with no prototype
|
调用函数时没有函数的说明
|
Cannot modify a const object
|
不允许修改常量对象
|
Case outside of switch
|
漏掉了case 语句
|
Case syntax error
|
Case 语法错误
|
Code has no effect
|
代码不可能被执行到
|
Compound statement missing{
|
分程序漏掉"{"
|
Conflicting type modifiers
|
互相冲突的类型说明符设置
|
Constant expression required
|
需要常量表达式
|
Constant out of range in comparison
|
在比较中常量超出范围
|
Conversion may lose significant digits
|
转换时会丢失数值的精度
|
Conversion of near pointer not allowed
|
不允许转换近指针
|
Could not find file ''xxx''
|
找不到XXX文件
|
Declaration missing ;
|
声明中缺少";"
|
Declaration syntax error
|
声明中出现语法错误
|
Default outside of switch
|
Default 出现在switch语句之外
|
Define directive needs an identifier
|
定义编译预处理需要标识符
|
Division by zero
|
用零作除数
|
Do statement must have while
|
Do-while语句中缺少while部分
|
Enum syntax error
|
枚举类型语法错误
|
Enumeration constant syntax error
|
枚举常数语法错误
|
Error directive :xxx
|
错误的编译预处理命令
|
Error writing output file
|
写输出文件错误
|
Expression syntax error
|
表达式语法错误
|
Extra parameter in call
|
调用时出现多余错误
|
File name too long
|
文件名太长
|
Function call missing
|
函数调用缺少右括号
|
Fuction definition out of place
|
函数定义位置错误
|
Fuction should return a value
|
函数必需返回一个值
|
Goto statement missing label
|
Goto语句没有标号
|
Hexadecimal or octal constant too large
|
16进制或8进制常数太大
|
Illegal character ''x''
|
非法字符x
|
Illegal initialization
|
非法的初始化
|
Illegal octal digit
|
非法的8进制数字
|
Illegal pointer subtraction
|
非法的指针相减
|
Illegal structure operation
|
非法的结构体操作
|
Illegal use of floating point
|
非法的浮点运算
|
Illegal use of pointer
|
指针使用非法
|
Improper use of a typedefsymbol
|
类型定义符号使用不恰当
|
In-line assembly not allowed
|
不允许使用行间汇编
|
Incompatible storage class
|
存储类别不相容
|
Incompatible type conversion
|
不相容的类型转换
|
Incorrect number format
|
错误的数据格式
|
Incorrect use of default
|
Default使用不当
|
Invalid indirection
|
无效的间接运算
|
Invalid pointer addition
|
指针相加无效
|
Irreducible expression tree
|
无法执行的表达式运算
|
Lvalue required
|
需要逻辑值0或非0值
|
Macro argument syntax error
|
宏参数语法错误
|
Macro expansion too long
|
宏的扩展以后太长
|
Mismatched number of parameters in definition
|
定义中参数个数不匹配
|
Misplaced break
|
此处不应出现break语句
|
Misplaced continue
|
此处不应出现continue语句
|
Misplaced decimal point
|
此处不应出现小数点
|
Misplaced elif directive
|
不应编译预处理elif
|
Misplaced else
|
此处不应出现else
|
Misplaced else directive
|
此处不应出现编译预处理else
|
Misplaced endif directive
|
此处不应出现编译预处理endif
|
Must be addressable
|
必须是可以编址的
|
Must take address of memory location
|
必须存储定位的地址
|
No declaration for function ''xxx''
|
没有函数xxx的说明
|
No stack
|
缺少堆栈
|
No type information/没有类型信息
|
缺少堆栈
|
Non-portable pointer assignment
|
不可移动的指针(地址常数)赋值
|
Non-portable pointer comparison
|
不可移动的指针(地址常数)比较
|
Non-portable pointer conversion
|
不可移动的指针(地址常数)转换
|
Not a valid expression format type
|
不合法的表达式格式
|
Not an allowed type
|
不允许使用的类型
|
Numeric constant too large
|
数值
常太大
|
Out of memory
|
内存不够用
|
Parameter ''xxx'' is never used
|
能数xxx没有用到
|
Pointer required on left side of ->
|
符号->的左边必须是指针
|
Possible use of ''xxx'' before definition
|
在定义之前就使用了xxx(警告)
|
Possibly incorrect assignment
|
赋值可能不正确
|
Redeclaration of ''xxx''
|
重复定义了xxx
|
Redefinition of ''xxx'' is not identical
|
xxx的两次定义不一致
|
Register allocation failure
|
寄存器定址失败
|
Repeat count needs an lvalue
|
重复计数需要逻辑值
|
Size of structure or array not known
|
结构体或数给大小不确定
|
Statement missing ;
|
语句后缺少";"
|
Structure or union syntax error
|
结构体或联合体语法错误
|
Structure size too large
|
结构体尺寸太大
|
Sub scripting missing ]
|
下标缺少右方括号
|
Superfluous & with function or array
|
函数或数组中有多余的"&"
|
Suspicious pointer conversion
|
可疑的指针转换
|
Symbol limit exceeded
|
符号超限
|
Too few parameters in call
|
函数调用时的实参少于函数的参数不
|
Too many default cases
|
Default太多(switch语句中一个)
|
Too many error or warning messages
|
英文
|
参考译文
|
---|---|
Too many type in declaration
|
说明中类型太多
|
Too much auto memory in function
|
函数用到的局部存储太多
|
Too much global data defined in file
|
文件中全局数据太多
|
Two consecutive dots
|
两个连续的句点
|
Type mismatch in parameter xxx
|
参数xxx类型不匹配
|
Type mismatch in redeclaration of ''xxx''
|
xxx重定义的类型不匹配
|
Unable to create output file ''xxx''
|
无法建立输出文件xxx
|
Unable to open include file ''xxx''
|
无法打开被包含的文件xxx
|
Unable to open input file ''xxx''
|
无法打开输入文件xxx
|
Undefined label ''xxx''
|
没有定义的标号xxx
|
Undefined structure ''xxx''
|
没有定义的结构xxx
|
Undefined symbol ''xxx''
|
没有定义的符号xxx
|
Unexpected end of file in comment started on line xxx
|
从xxx行开始的注解尚未结束文件不能结束
|
Unexpected end of file in conditional started on line xxx
|
从xxx 开始的条件语句 尚未结束文件不能结束
|
Unknown assemble instruction
|
未知的汇编结构
|
Unknown option
|
未知的操作
|
Unknown preprocessor directive: ''xxx''
|
不认识的预处理命令xxx
|
Unreachable code
|
无路可达的代码
|
Unterminated string or character constant
|
字符串缺少引号
|
User break
|
用户强行中断了程序
|
Void functions may not return a value
|
Void类型的函数不应有返回值
|
Wrong number of arguments
|
调用函数的参数数目错
|
''xxx'' not an argument
|
xxx不是参数
|
''xxx'' not part of structure
|
xxx不是结构体的一部分
|
xxx statement missing (
|
xxx语句缺少左括号
|
xxx statement missing )
|
xxx语句缺少右括号
|
xxx statement missing ;
|
xxx缺少分号
|
xxx'' declared but never used
|
说明了xxx但没有使用
|
xxx'' is assigned a value which is never used
|
给xxx赋了值但未用过
|
Zero length structure
|