struct test
{
char* aaa;
char* bbb;
CString ccc;
WORD ddd;
};
と定義し
test test2[] = {
{ "a1" , "b1" },
{ "a2" , "b2" }
};
としたときに
error C2440: 'initializing' : 'char [4]' から 'struct CXXX::test' に変換することはできません。(新しい動作 ; ヘルプを参照)
コンストラクタはソース型を持てません、またはコンストラクタのオーバーロード レゾリューションがあいまいです。
となってしまいました。。
webなどで類似エラーがあるか探しましたが見つかりません。。
なにがいけないかわかりません。。
C2440のエラーは'conversion' : 'type1' から 'type2' に変換することはできません。
とMSDNに記載されています。
要はキャストができないってエラーが出ています。
「CString ccc;」に対しての初期化が行えていないようですが・・・
単純に初期化するための値の数が構造体のメンバ変数の数にあっていないと思いますけれど。
初期化値が構造体の変数の数と一致していなくても初期化は行えますよ。
設定していない変数については値が保障されないだけです。
かなりまえに適切な回答がマルチポスト先で得られています。
http://forums.belution.com/ja/vc/000/302/01s.shtml
# 返事も何もないですがね。
質問者は最後にどのような結果に終わったかぐらい記載して欲しいものだけどねぇ〜
ツイート | ![]() |