我已经用Google搜索了这个错误,直到我脸红了,但是无法将任何结果与我的代码联系起来。这个错误似乎通常是由错误或错过的大括号,父母等引起的。
自从我编写任何C ++以来,这已经很长时间了,所以我可能会有一些明显的,愚蠢的事情。
这是我在Qt Creator 2.4.0, Based on Qt 4.7.4 (64 bit) Built on Dec 20 2011 at 11:14:33
撰写的Qt Mobile应用。
#include <QFile>
#include <QString>
#include <QTextStream>
#include <QIODevice>
#include <QStringList>
QFile file("words.txt");
QStringList words;
if( file.open( QIODevice::ReadOnly ) )
{
QTextStream t( &file );
while( !t.eof() ) {
words << t.readline();
}
file.close();
}
我错过了什么?提前谢谢。
答案 0 :(得分:19)
你不能拥有这样的独立代码。所有代码都需要进入函数。
在main
函数中包装所有内容,一旦您修复了QTextStream
的使用(它没有eof
方法,并且它没有readline
方法也是 - 请查看附带用法示例的API docs。
#include <QFile>
#include <QString>
#include <QTextStream>
#include <QIODevice>
#include <QStringList>
int main()
{
QFile file("words.txt");
QStringList words;
if( file.open( QIODevice::ReadOnly ) )
{
QTextStream t( &file );
QString line = t.readLine();
while (!line.isNull()) {
words << line;
line = t.readLine();
}
file.close();
}
}