我在xcode中获取体系结构x86_64的未定义符号中的错误:“Restaurant::Restaurant()”,引用自:main中的_main.o ld:找不到体系结构x86_64的符号clang:error:链接器命令失败,退出代码为%1(使用-v查看调用)
这是我的代码:
#include <iostream>
using namespace std;
class Restaurant
{
public:
Restaurant();
int getTables();
int getTempStaff();
int getPermStaff();
string getShifts();
string getMenu(string menu);
private:
string Menu;
int Tables;
int TempStaff;
int PermStaff;
string Shifts[3];
};
string Restaurant::getMenu(string menu)
{
Menu = menu;
return menu;
}
int main()
{
Restaurant mimmos;
string Menu;
cout<<"Menu: ";
cin>>Menu;
cout<<mimmos.getMenu(Menu);
return 0;
}
请帮帮我。
您声明了以下方法:
Restaurant();
int getTables();
int getTempStaff();
int getPermStaff();
string getShifts();
string getMenu(string menu);
。。并且您已经在下面定义了
但是
这是因为当创建该类型的对象时会自动调用构造函数,如下所示:
//..
Restaurant mimmos;
//..
实际上,您从未尝试调用
您可以像另一个回答者所说的那样,将构造函数定义为默认的(这允许您的编译器为您创建一个合理的构造函数),或者您可以定义自己的构造函数,这似乎是您无论如何都想要做的。
class Restaurant {
Restaurant() = default;
...
};
将为您提供Restaurant的默认构造函数。