我需要一些帮助。 最近我试图学习一些编程,并遇到了一些问题,但它们都已经解决了。 除了这一个。 我知道它已被多次回答,但我从未找到针对我的具体案例的解决方案。 我正在使用Xcode V. 4.5.2 这是程序:
int add(int x, int y);
int main()
using namespace std;
cout << "3 + 4 + 5 = " << add(3, 4) << endl;
return 0;
}
int add(int x, int y, int z)
return x + y + z;
}
它给了我这个错误:
架构x86_64的未定义符号:“add(int,int)”, 引自: _main在main.o中 (也许你的意思是:__ Z3addiii)ld:找不到架构x86_64 clang的符号:错误:链接器命令失败并带有退出代码 1(使用-v查看调用)
我不知道该怎么做。
我一直在关注本教程:
http://www.learncpp.com/cpp-tutorial/17-forward-declarations/
测验下的第五个计划是这个。由于 Lemonizer
答案 0 :(得分:1)
您的转发声明为int add(int x, int y);
,但您的定义为int add(int x, int y, int z)
。第一个没有int z
但第二个没有。他们需要100%匹配。定义应该是:
int add(int x, int y) {
return x + y;
}
该链接器错误告诉您“我不知道任何add(int, int)
函数”,这是合适的,因为没有任何类型add(int, int)
函数的定义。只有一个add(int, int, int)
函数,显然是不同的。