独習c++の練習問題5.2
Q&A
Closed
解決したいこと
独習c++という本でvisualstudio2022を使用して学習しているのですが、ある問題で解答と同じようにプログラムを書いてもエラーが出てしまいます
練習問題5.2の1問目でコンパイルできるようにクラスを修正するというものなのですが、解答の通りNSDMIを使用して初期値を代入しても "コンストラクター "product::product" のインスタンスが引数リストと一致しません" とエラーが出ます 該当するソースコードは解答の通りに記述したものです
解答は出版社サイトの付属データからdlできます https://www.shoeisha.co.jp/book/detail/9784798150239
該当するソースコード
//visualstudio2022, c++17
#include
class product
{
int id = 0;
std::string name = "no availabe";
int price = 0; // 問題のコードではメンバー変数がNSDMIで初期化されていません
public:
explicit product(int id, std::string name, int price)
: id(id), name(name), price(price) {}
};
int main()
{
product p[4] =
{
product{1, "smart phone", 60000},
product{2, "tablet", 35000},
};
}
自分で試したこと
デフォルトコンストラクタを宣言定義したところエラーは出ませんでした 恐らく解答が間違っているのではないかと