Apple Mach-O-Linker错误:架构x86-64中找不到从(行)引用的变量 我正在为一个类项目工作C++程序,我把对象数据从一个文件加载到一个列表中。我已经设置好了它,以便像在成员函数中一样读取数据,然后将该对象推送到列表中,并重复,直到没有更多的数据要加载
我得到了这个错误: 架构x86_64的未定义符号: Product::ProductProduct const&,引用自: std::_1::列表 ::第2周推出产品成本 ld:未找到架构x86_64的符号 clang:错误:链接器命令失败,退出代码为1使用-v查看调用 主要功能:Apple Mach-O-Linker错误:架构x86-64中找不到从(行)引用的变量 我正在为一个类项目工作C++程序,我把对象数据从一个文件加载到一个列表中。我已经设置好了它,以便像在成员函数中一样读取数据,然后将该对象推送到列表中,并重复,直到没有更多的数据要加载,c++,class,reference,linker-errors,C++,Class,Reference,Linker Errors,我得到了这个错误: 架构x86_64的未定义符号: Product::ProductProduct const&,引用自: std::_1::列表 ::第2周推出产品成本 ld:未找到架构x86_64的符号 clang:错误:链接器命令失败,退出代码为1使用-v查看调用 主要功能: Product temp; list <Product> allProducts; if (!temp.loadInitalData()) { cout << "There is n
Product temp;
list <Product> allProducts;
if (!temp.loadInitalData())
{
cout << "There is no Product data available. Try a different option: ";
cin >> choice;
repeat = true;
}
else {
while (temp.loadInitalData())
{
allProducts.push_back(temp); //This is where I'm getting the error
}
temp.viewMenu();
repeat = false;
}
bool Product::loadInitalData()
{
bool moreData = true;
fstream prodDatabase;
prodDatabase.open("ProductDatabase.csv", ios::out|ios::in|ios::binary);
if (!prodDatabase)
{
cout << "File could not be successfully opened\n";
moreData = false;
}
else
{
moreData = loadInitialItemData(prodDatabase);
}
return moreData;
}
产品的loadInitalData功能:
Product temp;
list <Product> allProducts;
if (!temp.loadInitalData())
{
cout << "There is no Product data available. Try a different option: ";
cin >> choice;
repeat = true;
}
else {
while (temp.loadInitalData())
{
allProducts.push_back(temp); //This is where I'm getting the error
}
temp.viewMenu();
repeat = false;
}
bool Product::loadInitalData()
{
bool moreData = true;
fstream prodDatabase;
prodDatabase.open("ProductDatabase.csv", ios::out|ios::in|ios::binary);
if (!prodDatabase)
{
cout << "File could not be successfully opened\n";
moreData = false;
}
else
{
moreData = loadInitialItemData(prodDatabase);
}
return moreData;
}
我在main.cpp文件中链接了Product.h,以及。有什么建议吗?您缺少类产品的副本构造函数。以下列出了编译器何时提供的规则: 但是,如果复制产品对象是一个非常重要的操作,那么您可能需要编写一个 考虑将您的列表列为产品*,即指向产品的指针列表。这避免了复制,很可能是您真正想要的