1

このコードに問題があります:

// Make it Non Copyable 


FileLogger (const FileLogger &) = delete;
FileLogger &operator= (const FileLogger &) = delete;

このエラーを解決する必要があります:

Error   1   error C2059: syntax error : ';' 
Error   2   error C2238: unexpected token(s) preceding ';'  

このエラーは、上記の同じコード行の同じ構文で 16 回発生します。

4

2 に答える 2

8

新しい C++11= delete構文を使用してデフォルトの実装を抑制しようとしていると思います。このエラーは、このコンパイラがその構文を理解していないことを意味していると思います。

C++11 より前のコンパイラでは、典型的なアプローチは、コンストラクター/割り当てをプライベートとして宣言するDISALLOW_COPY_AND_ASSIGNマクロを代わりに使用することです。

于 2013-10-24T23:40:50.627 に答える
0

C++11 より前でdeleteは、 は予約語です。つまり、コンパイラにとって特別な意味があり、他の目的には使用できません。それが変数の 1 つの名前である場合は、名前を変更すれば問題ありません。

于 2013-10-24T23:38:53.747 に答える