エジをクリックするととばされるサイト
(https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-3-c4996?redirectedfrom=MSDN&view=vs-2019)
参考書を見ながら下記のコードを入力したのですが、strcpy(pName,pN);の部分でエラーがでます。
エラーメッセージが全て英語だったので、Google翻訳ですがリクエストが承認されませんと言われます。
c++
1#include<iostream> 2#include<string> 3using namespace std; 4 5class Car 6{ 7private: 8 int num; 9 double gas; 10 char* pName; 11public: 12 Car(char* pN, int n, double g); 13 //デストラクタ 14 ~Car(); 15 void show(); 16}; 17 18Car::Car(char* pN, int n, double g) 19{ 20 //コンストラクタ内で動的にメモリ確保 21 //strlen(pN) pNの中身の文字列のNULLより前の文字数を数える 22 pName = new char[strlen(pN) + 1]; 23 //strcpy(pName, pN) pNameにpNの中身の文字列をコピーする 24 strcpy(pName, pN); 25 num = n; 26 gas = g; 27 cout << pName << "を作成しました。" << endl; 28} 29 30Car::~Car() 31{ 32 cout << pName << "を破棄します。" << endl; 33 delete[] pName; 34} 35 36void Car::show() 37{ 38 cout<<"車のナンバーは"<<num<<"です。"<<endl; 39 cout<<"ガソリン量は"<<gas<<"です。"<<endl; 40 cout<<"名前は"<<pName<<"です。"<<endl; 41} 42 43 44int main() 45{ 46 Car car1("mycar", 1234, 25.5); 47 car1.show(); 48 49 return 0; 50} 51```![エラーメッセージ](5fefd4c0f55f8efdb55c6179a453a1b8.png)
翻訳などしなくてよいのでエラーメッセージは原文ママ示して下さい。
情報は、よくわかっている内容でもない限り(それなら質問しないでしょう)、余計な加工や解釈、まとめなどをしないでそのまま提示したほうがよいことがほとんどです。
ご指摘ありがとうございます。
エラーメッセージをクリックするととばされるサイトのURLを貼り付けました。
なぜエラーメッセージそのものでなくサイトのURLなのですか?
エラーメッセージにはエラーになった場所などの情報も含まれていたのではないかと思いますが、その情報を敢えて削るのはなぜですか?
「そのまま」です。「そのまま」。
自分が頑張ったところを見せたいのなら、元々の情報に追加する形にして下さい。
エラーメッセージの画像を貼り付けました。
これで大丈夫でしょうか?
次回からは、開発に使用しているソフト(バージョンも)も提示しましょう
#言語は進化・変化しつづけているため、エラー・警告の内容が開発ソフト・バージョンによって変わります
情報が足らず申し訳ありません。
次からはバージョンも記載します。
回答3件
あなたの回答
tips
プレビュー