Linux下一直显示undefined reference to 异常,在eclipse下就没有有关问题。
Linux下一直显示undefined reference to 错误,在eclipse下就没有问题。。。
运行后一直显示:麻烦各位支支招呗。网上找的方法不行
------解决思路----------------------
你除了main.cc,是不是还有其他文件?
#include"DiscItem.hh"
double DiscItem::net_price(size_t cnt) const
{
std::cout<<cnt<<std::endl;
if(cnt>min_qty)
{
return min_qty*price*discount*price+(cnt-min_qty)*price;
}
else
return price*cnt;
}
std::istream&operator>>(std::istream &is,DiscItem &rhs)
{
is>>(BaseItem &)rhs>>rhs.min_qty>>rhs.discount;
return is;
}
std::ostream&operator<<(std::ostream &os,const DiscItem &rhs)
{
os<<(BaseItem &)rhs<<" "<<rhs.min_qty<<" "<<rhs.discount;
return os;
}
#ifndef DISCITEM_H
#define DISCITEM_H
#include"BaseItem.hh"
class DiscItem : public BaseItem
{
public:
friend std::istream&operator>>(std::istream &is,DiscItem &rhs);
friend std::ostream&operator<<(std::ostream &os,const DiscItem &rhs);
DiscItem(const std::string book="",double Sales_price=0.0,int num=0,double discrate=0.0):BaseItem(book,Sales_price),min_qty(num),discount(discrate){};
DiscItem(const DiscItem &rhs):BaseItem(rhs),min_qty(rhs.min_qty),discount(rhs.discount){};
DiscItem &operator=(const DiscItem &rhs);
virtual double net_price(size_t cnt) const{};
~DiscItem(){}
private:
int min_qty;
double discount;
};
#endif
#include<iostream>
#include"BaseItem.hh"
#include"DiscItem.hh"
using namespace std;
int main(void)
{
DiscItem p;
cin>>p;
cout<<p;
return 0;
}
运行后一直显示:麻烦各位支支招呗。网上找的方法不行
------解决思路----------------------
你除了main.cc,是不是还有其他文件?
gcc -o main *.cc