错误:'if'之前的预期unqualified-id

时间:2011-12-31 20:40:29

标签: c++ qt qt4 qt-creator

我已经用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();
}

我错过了什么?提前谢谢。

1 个答案:

答案 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();
  }
}