所以我寫了一些C++今天,一個簡單的座標系統長時間的休息之後,我想我會希望有一個構造方法來在2個值,這樣我可以寫的東西,如「座標C =新座標(1 ,2);」C++構造函數的參數
struct Coordinates {
int x;
int y;
Coordinates(int a, int b) {
x = a;
y = b;
}
};
當Cygwin中編譯,我得到:
$ g++ -o adventure adventure.cpp adventure.cpp:36: error: no matching function for call to `Coordinates::Coordinates()' adventure.cpp:22: note: candidates are: Coordinates::Coordinates(const Coordinates&) adventure.cpp:26: note: Coordinates::Coordinates(int, int)
不知道發生了什麼事情錯在這裏,我無法找到C++結構構造多的信息。有任何想法嗎?
你能粘貼代碼,給出了錯誤的行?是否像「座標c」一樣?如果是這樣,那是不合法的,因爲如果沒有兩個整數參數或另一個「座標」,你就沒有辦法構建'Coordinates'。 –
您試圖默認構造座標對象。有一個如果你想要的對象是默認constructible。 – Jagannath
座標c =新座標(1,2);這是錯誤的。應該是座標* c =新的座標(1,2); – Jagannath