C++常见错误

1 redefinition of class && previous definition of class

   表示重复定义了类,一般说来是因为在你进行该类定义的头文件中没有使用#ifndef,#define和#endif来进行保护.如果你确定你在该头文件中使用了宏进行保护,那么检查一下#endif忘写了么还是#ifndef和#define后的宏名字完全一样么?

   总之,就是你重复定义了那个类?至于为什么,自己好好想想自己的代码结构吧?名字空间冲突的问题?自己重复定义的问题?...

 

2 expected class name before '{' token

  通常是你使用类继承的过程中出现的.检查一下你包含了父类型的声明头文件了么?如果包含了,那么你和父类型之间是否有循环依赖么?

 

3 undefined type in this scope.编译器未检测到该类型的定义,检查一下该类型是否是本名字空间中定义的?如果不是,那么使用using表示使用那个  名字空间或者在该类型前面加上该名字空间了么?在文件拷贝过程中,尤其要注意更改文件的名字空间的声明.

 

4 undefined reference to 'foo_function'

   这通常是编译器在链接对象文件或库时发生的错误,表示链接时没有找到该函数的对象文件或库.那么想一想,你确定你指定了该函数定义的文件编译生成的对象文件或库了么?如果你确定指定了,那么你包含的头文件声明和库文件或者对象文件中的函数定义版本一致么,会不会时因为二者对该函数的声明和定义接口变化导致不一致了呢?

   如果你还是很确定.那么,你用g++编译器的时候把对库的指定选项放在了源文件后面了么?也就是:g++ -o foo foo.cpp -L** -lbar,而不要把指定库的选项放在源文件foo.cpp前面.

 
转: http://blog.csdn.net/kankanli/article/details/5169391
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值