ifstream istream和>>超载

时间:2011-11-28 00:41:24

标签: c++ operator-overloading polymorphism

我确信这是一个简单的问题,但我无法解决它:

我从编译器那里收到了这个:

cdcheck.cpp|31|error: 'slectionsIn' was not declared in this scope

令人讨厌的代码块:

在main中:

...snip
ifstream selectionsIn (argv[2]);
PlayListItem item;
int itemCount = 0;
while (slectionsIn >> item)
{
...snip

在PlayListItem.cpp中:

std::istream& operator>> (std::istream& in, PlayListItem& pl){

如果需要,我可以发布这些文件的内容。应该注意的是,如果我在声明中从istream更改为ifstream,则会正确编译,但我无法修改PlayListItem.cpp,只能修改主。

2 个答案:

答案 0 :(得分:3)

尝试修复编译器错误消息中提到的拼写错误的标识符:

while (selectionsIn >> item) // not: slectionsIn

答案 1 :(得分:2)

比较

ifstream selectionsIn (argv[2]);

while ( slectionsIn >> item)