3

で無効な間接エラーが発生しgenerateCSVHeader(*file4);ます。

関数宣言:

void generateCSVHeader(QFile * file);

機能の使用:

str="MyData.csv";
QFile file4(str);
generateCSVHeader(*file4);

逆参照指定子を削除すると、QFIle を QFile * に変換できませんというエラーが表示されます。

4

1 に答える 1

3

オブジェクト自体を渡す代わりに、オブジェクト (アドレス) へのポインターを渡す必要がQFileあります (逆参照は、オブジェクトではなくポインターでのみ使用されるため、無関係です)。オブジェクトのアドレスを取得するには、&演算子を使用する必要があります。したがって、次のように関数を呼び出す必要があります。

generateCSVHeader(&file4)

また、ポインターの代わりに参照を使用することを検討することもできます。

于 2013-01-26T03:36:54.893 に答える