LinkedList运算符>>重载错误(未定义的引用)

时间:2017-09-01 07:25:27

标签: c++ linked-list operator-overloading

我有一个LinkedList对象,我正在尝试重载operator>>,需要LinkedList,要求用户输入,然后将其分解为单词并创建一个每个单词的新节点。但我不确定为什么我不能使用cin >> *inputOne

在下面的代码中,value_type是一个字符串,l.add(subs)正在将字符串添加到LinkedList中:

来自main:

LinkedList* inputOne = new LinkedList();
cin >> *inputOne; //i get an error here

来自LinkedList.cpp:

std::istream& operator>> (std::istream& ins, LinkedList& l)
{
    value_type i = "";

    cin >> i;

    istringstream iss(i);

    value_type subs;

    while(iss >> subs)
    {
        l.add(subs);
    }

    return ins;
}

到目前为止,我收到了这个错误:

main.cpp:21: undefined reference to `operator>>(std::istream&, LinkedList const&)'
main.cpp:21:(.text+0x59): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `operator>>(std::istream&, LinkedList const&)'

0 个答案:

没有答案