ホームページ  >  に質問  >  本文

C++ CopyConstructor によって例外がスローされました。 !

コードは以下のように表示されます:

リーリー

コードの説明: Data クラスには、P_name、address、number という 3 つの char* メンバーが追加されました。

コンパイルされた画像:

答えてください、ありがとう! !

过去多啦不再A梦过去多啦不再A梦2670日前789

全員に返信(3)返信します

  • 伊谢尔伦

    伊谢尔伦2017-05-31 10:41:26

    まず、char *&source のようなパラメーターが char *const &source に変更され、次に CopyStr(adata.P_name, P_name) のように、この種のパラメーターは CopyStr(P_name, adata.P_name) に変更されます。
    これは私がテストしたコードです。直接実行できます:

    リーリー

    返事
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-31 10:41:26

    CopyStr を呼び出すときの 2 番目のパラメーター (P_name など) はどこから来るのでしょうか?

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-05-31 10:41:26

    vs は、初期化されていないメモリ領域を 0xCCCCCCCC (これは 烫烫烫的由来);
    考虑到你访问到了0xCCCCCCCC,所以要不就是你传进去了个非法指针,要不就是这个char*指针对应的字符串没有以'0'结尾;
    可以试着输出一下source の値でもあります) で埋めてから、ポインターが指すデータをバイトごとに出力しようとします

    返事
    0
  • キャンセル返事