我有下面的結構汽車:C++,結構與指針,創建第一個對象
struct Car {
public:
integer number;
Car *down, *right;
Car(double a, Car b, Car f): number(a), right(&f){}
};
舉例來說,我想有點像汽車的連鎖模式和每節車廂有一個指針指向下一輛車。 我的問題是,第一輛車應該指向無處,爲NULL。 (可變數字與鏈條中汽車的位置無關)。 我想是這樣的:
Car* first = new Car(23421,NULL);
car.cpp:39:35: error: no matching function for call to ‘Car::Car(int, NULL)’ car.cpp:39:35: note: candidates are: car.cpp:28:3: note: Car::Car(int, Car) car.cpp:28:3: note: no known conversion for argument 2 from ‘int’ to ‘Car’ car.cpp:24:8: note: Car::Car(const Car&) car.cpp:24:8: note: candidate expects 1 argument, 2 provided
我怎麼可以指向無處?
一段代碼中的錯誤太多。首先將'Car(double a,Car b,Car f)'改成'Car(double a,Car * b,Car * f)',但它也不好;你可能會完全重寫這段代碼。 – anatolyg
您可能想要查看構造函數,指針,引用和方法重載 –
好像您是C++的新手,犯了大量錯誤,使Car存儲組成Car的屬性,然後將它們存儲在std中: :列表而不是發明自己的 – paulm