自从用了博客之后,老汉发现这是个好东西啊。再也不用去各个工程项目文件夹下寻找自己做的笔记了。
现在把平时遇到的一些个错误放到上边来,谨防下次再范
-
错误: 双目运算符 * 操作数(‘int’和‘int *’)无效
在程序中写了上述代码, 编译器将*当作双目运算符,并未当作指针。正确代码如下*n = * n + 1;
int temp; temp = *n; *n = temp + 1;
-
错误:error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
网上有很多人问错误在哪,总结一下几点,希望对大家有帮助1 include 前忘记了加上“#” 2 某些关键字书写错误,如“void”(我糊涂地把它写成viod) 3 main前缺少分号‘;’ 4 引用了自定义的头文件,在自定义头文件中出现了上述错误
-
错误error: expected expression before ‘{’ token
long a[MAX]; a[MAX]={0, 3, 6 ,6};
问题就出在上述代码上。gcc编译器提示
error: expected expression before ‘{’ token a[MAX]={0, 3, 6 ,6};
高手们肯定不会犯这个错误,新手你看出来了么?正确形式如下
原因在于这种数组的缺省初始化需要在定义时进行,或者单独对每个元素赋值。long a[MAX]={0, 3, 6 ,6};
-
gcc编译提示:undefined reference to `pow'
我已经在头文件中引用了,math.h文件,但是依然提示该错误。原因在于使用math.h
中声明的库函数还有一点特殊之处,gcc
命令行必须加-lm
选项,因为数学函数位于libm.so
库文件中(这些库文件通常位于/lib
目录下),-lm
选项告诉编译器,程序中用到的数学函数要到这个库文件里找。