报错
写了一段小程序,报错“exception.cpp:(.text+0x28): undefined reference to `Sales_item::setPrice(double)“程序就算c++ prime中得测试程序:
程序代码
//*********Sales_Item.h
#ifndef SALES_H
#define SALES_H
#include <string>
using namespace std;
class Sales_item
{
public:
Sales_item();
Sales_item(double p,double q);
inline double getPrice();
inline double getQuatity();
inline void setPrice(double p);
void setQuatity(double q);
double operator + (Sales_item& s2);
private:
string Id;
double price;
double quatity;
};
#endif
//********Sales_Item.cpp
#include "Sales_item.h"
2 #include<iostream>
3
4 //using namespace std;
5
6 Sales_item::Sales_item(){}

本文介绍了在C++编程中遇到'undefined reference to'编译错误的解决过程。首先,作者尝试调整g++命令的多文件编译方式,但问题并未解决。接着,作者发现错误可能与inline函数有关,了解到inline函数的定义必须在编译器可见的地方,并且在所有源文件中的定义必须一致。最后,通过在头文件中定义或取消inline关键字,成功解决了问题,使得程序正常运行。
最低0.47元/天 解锁文章
1984

被折叠的 条评论
为什么被折叠?



