我故意使用點和箭頭運算符,但我很困惑,爲什麼它會在我決定將該類作爲模板時進行編譯。爲什麼在編寫模板時會編譯?
編譯:
template <class B>
struct Boss {
bool operator==(Boss & other) {
return this.x == other -> x;
}
};
int main() {
}
不會編譯:
struct Boss {
bool operator==(Boss & other) {
return this.x == other -> x;
}
};
int main() {
}
你在試圖編譯哪個編譯器? – dsign
嘗試添加到您的主Boss b1,b2; b1 == b2;這會引發編譯錯誤。你沒有調用的代碼沒有實例化。 –
undu
@dsign g ++ -Wall -pedantic Boss.cpp – Kacy