我要聲明的座標一類,我試試這個代碼:C++初始化錯誤
Coordinate.h:
typedef unsigned short Short; class Coordinate { private : Short _row; Short _col; public: Coordinate(Short row, Short col); bool operator ==(const Coordinate* other); };
Coordinate.cpp:
#include "Coordinate.h" Coordinate::Coordinate(Short row, Short col) : _row(row) , _col(col){} bool Coordinate::operator== (const Coordinate* other) { if (other == NULL || this == NULL) return false; if (this == other) return true; if (other->_row != this->_row || other->_col != this->_col) return false; return true; }
主。 cpp:
#include "Coordinate.h" int main() { Coordinate a(2,2); }
但視覺工作室2015年返回此錯誤:
錯誤C2079 'A' 使用未定義類 '座標'
錯誤C2440 '初始化':無法從 '初始化列表' 轉換爲 '詮釋'
'this == NULL'將如何成爲真實? – tadman
沒有顯示'initializer_list'。使用加載初始化語法實例化對象時,會創建一個「std :: initializer_list」。 –
當這個人寫((Coordinate *)NULL)時,'this == NULL'是真的,你可以測試它@tadman。 –