0からの、超初心者C++相談室at TECH0からの、超初心者C++相談室 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト778:デフォルトの名無しさん 24/02/02 11:28:24.45 xohFoxUO.net >>772 横からだけども > X x2 = 2; // b:NG(conversion from 'int' to non-scalar type 'X' requested) って X x2(2); と同義じゃねーの? 779:はちみつ餃子 24/02/02 12:19:41.13 BQKaaqcl.net >>773 違うよ。 C++ では引数ひとつのコンストラクタは変換コンストラクタとして「も」使うことになっているから 違う文脈でも結果的に同じコンストラクタが呼び出されることになるけど 構文糖というわけではなくて違う解釈を経ている。 780:デフォルトの名無しさん 24/02/02 12:28:48.56 xohFoxUO.net 細かいなぁ 781:はちみつ餃子 24/02/02 18:32:30.30 ZFQgO+dm.net 動くなら同義と考えても大した問題じゃないが、 ここでは実際に結果が違う (一方はエラーになる) ことの説明だから…… 782:デフォルトの名無しさん 24/02/02 22:30:30.14 d8Flt8Cn.net これはなぜエラーになるのですか。 std::string s = "abc"; char name[10] = s.c_str(); error: array must be initialized with a brace-enclosed initializer 次と同等とみなせないのはなぜ? char name[10] = "abc"; 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch