2012-03-20 27 views
-1

私は代入のための明示的なコンバージョンコンストラクタを実装しようとしていますが、私は何をする必要があるのか​​混乱しています。あなたはどのような代入演算子を持っているんC++明示的変換コンストラクタ

class WordList 
{ 
    explicit WordList(char c) {} 
}; 

WordList w = 'i'; //error 
WordList v ('i') ; //ok 
+0

:あなたのようにexplicitキーワードを使用する必要があるすべて

WordList myList; list = 'i'; // error 
Akanksh

+0

それは代入です(しかし名前にタイプミスがあります)。 – Flexo

+0

[C++の明示的なキーワードはどういう意味ですか?](http://stackoverflow.com/questions/121162/what-does-the-explicit- keyword-in-c-mean) –

答えて

8

:私は、単一の要素を含むワードリストを持っている、と私は行うことができないこのコンストラクタを明示的にするためにしていますWordListのために?
+0

私の.cppファイルと.hファイルの両方に、私のコンストラクタの前に明示的にキーワードを置いてみましたが、 "違法ストレージクラス"というエラーが出ました。私は、私の教授がそれを見て、私のコードを投稿することはできません。 – Jon

+0

@ user1277607:いいえ.'h'ファイルのみで宣言してください。私の例では、クラスそのものに定義したので、ここでは(明示的に)明示的に許可しています。 – Nawaz

+1

ありがとうございます。それは美しく働いた:) – Jon

関連する問題