问题
I've googled this error until I'm blue in the face, but haven't been able to relate any of the results to my code. This error seems to be caused, usually, but misplaced or missing braces, parents, etc.
It's also been a long time since I wrote any C++, so there could be some obvious, foolish thing that I'm missing.
This is a Qt Mobile app that I'm writing in Qt Creator 2.4.0, Based on Qt 4.7.4 (64 bit) Built on Dec 20 2011 at 11:14:33
.
#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();
}
What am I missing? Thanks in advance.
回答1:
You can't have free-standing code like that. All code needs to go into functions.
Wrap all that in a main
function and you should be ok once you've fixed your use of QTextStream
(it has no eof
method, and it doesn't have a readline
method either - please look at the API docs that come with usage examples).
#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();
}
}
来源:https://stackoverflow.com/questions/8690446/error-expected-unqualified-id-before-if