您的位置:首页 > 编程语言 > C语言/C++

c++学习笔记序列之错误码整理(不断更新中)

2011-08-04 10:41 711 查看
1. error LNK2001: unresolved external symbol "int __cdecl change(int,int)" (?ch

这种错误发生的原因是,函数中调用到的函数change,编译器在编译之前没有看到这个函数的声明或定义,编译器不认识这个函数,所以报错。

解决方法:

如果是VC6
方法一(如果change中一个lib中的函数):菜单project->setting->Link页签->Category列表->Input->Object/Library modules下面的输入框中添加包含change函数的库名称,并且在下面的Additional Library path下面的输入框中添加library所在的目录
方法二:在工程中直接包含change函数所在的c文件及.h文件

2.fatal error LNK1169: one or more multiply defined symbols found

错误原因:发生1169的错误码,是因为重复定义,一般是函数重复定义,所以要查看一下那个地方重复定义,有时候在联系的时候,重复定义了main函数比较多,就会较多的出现这种错误。

解决方法:将重复定义的函数名修改过来,避免重复定义。

3.编译时提示constructors not allowed a return typenstructorst

错误原因:再定义类的时候忘记在类的后面添加一个“;”,编译器无法确定类定义已经完啦。

例子

#include <iostream.h>

class counter

{

int value;

public:

counter(int number);

void increment(); //给原值加l

void decrement(); //给原值减1

int getvalue(); //取得计数值

void display(); //显示计算器值

};//解决方法:在这里添加“;”

counter::counter(int number) {value=number;} //编译时提示constructors not allowed a return type

void counter:: increment() {value+=1;}

void counter:: decrement() {value-=1;}

int counter:: getvalue() {return value;}

void counter::display() {cout<<"The value is:"<<value<<endl;}

void main()

{

counter num(99);

num.increment();

num.increment();

num.decrement();

num.display();

}

例解决方法:如上面输入框。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: