2017-01-12 9 views
-1

QDirIteratorを使用しているときに問題があります。フォルダからサブディレクトリを読み取る必要があるので、QStringをパラメータとしてQDirIteratorに渡します。私が呼ぶとき、それは私にこのエラーできます「しながら、」しかし:C2451:型「のQString」の条件式をC2451: 'QString'型の条件式が不正です

QDirIterator iter4(directory, QDirIterator::Subdirectories); 

while(iter4.next()){ 
} 

誰でも任意の説明を得た違法ですか?私はQt Creator 4.2.0をQt 5.7.1に基づいて使用しています。

ご協力いただきありがとうございます。

+0

'QString'から' bool'に変換できないようですが、btw 'while(iter4.next())'とはどういう意味ですか?サブディレクトリがさらにある間に実行する必要がありますか? – user463035818

+0

奇妙なことに、私がすでに作った別のプログラムでこれを使っていて、うまくいったからです... – GDias

+0

それは他のプログラムでは 'QString'へのポインタでしたか?ポインタは常に条件として使うことができます – user463035818

答えて

0

このエラーは、それが言うことを意味します。明らかに、QStringからboolへの変換はありません。正しい使用法は

while(iter4.hasNext()){ 
    //... 
} 

hereも参照してください。時には本当にrtfmに役立ちます;)

関連する問題