我有一个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&)'