C2440エラー について


(; - ;  2005-04-11 22:19:48  No: 56960

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などで類似エラーがあるか探しましたが見つかりません。。
なにがいけないかわかりません。。


よっしぃー  2005-04-22 00:35:04  No: 56961

C2440のエラーは'conversion' : 'type1' から 'type2' に変換することはできません。
とMSDNに記載されています。
要はキャストができないってエラーが出ています。
「CString ccc;」に対しての初期化が行えていないようですが・・・


PATIO  2005-04-22 02:13:28  No: 56962

単純に初期化するための値の数が構造体のメンバ変数の数にあっていないと思いますけれど。


よっしぃー  2005-04-22 02:20:54  No: 56963

初期化値が構造体の変数の数と一致していなくても初期化は行えますよ。
設定していない変数については値が保障されないだけです。


Blue  2005-04-22 02:38:40  No: 56964

かなりまえに適切な回答がマルチポスト先で得られています。
http://forums.belution.com/ja/vc/000/302/01s.shtml

# 返事も何もないですがね。


よっしぃー  2005-04-22 02:44:45  No: 56965

質問者は最後にどのような結果に終わったかぐらい記載して欲しいものだけどねぇ〜


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加