可能重複:
g++ undefined reference to typeinfo
Undefined symbols 「vtable for …」 and 「typeinfo for…」?未定義的參考`所屬類別爲類
我不能用我的課。
class Accel {
public:
virtual void initialize(void);
virtual void measure(void);
virtual void calibrate(void);
virtual const int getFlightData(byte);
};
class Accel_ad : public Accel {
public:
Accel_ad() : Accel(){}
void initialize(void) {/*code code code...*/}
void measure(void) {/*measure code*/}
const int getFlightData(byte axis){/*getting data*/}
void calibrate(void) {
int findZero[FINDZERO];
int dataAddress;
uint8_t data[2];
for (byte calAxis = XAXIS; calAxis < ZAXIS; calAxis++) {
if (calAxis == YAXIS) dataAddress = 0x32;
if (calAxis == XAXIS) dataAddress = 0x34;
if (calAxis == ZAXIS) dataAddress = 0x36;
for (byte i=0; i<FINDZERO; i++) {
readReverseWordI2C(dataAddress,data);
findZero[i] = (data[1] << 8) | (data[0]);;
Delay_ms(10);
}
accelZero[calAxis] = findMedian(findZero, FINDZERO);
}
// replace with estimated Z axis 0g value
accelZero[ZAXIS] = (accelZero[XAXIS] + accelZero[PITCH])/2;
// store accel value that represents 1g
measure();
accelOneG = -accelData[ZAXIS];
}
的main.cpp
Accel_ad accel;//all ok
accel.initialize();//all ok
accel.calibrate();//ERROR: undefined reference to `typeinfo for Accel'
accel.measure();//All okey
誰知道什麼是錯?
郵政*確切*完全編譯錯誤。 – Nawaz
[cc] .. \ obj \ main.o :(。rodata._ZTI8Accel_ad [Accel_ad的類型信息] + 0x8):未定義引用'typeinfo for Accel' [cc] collect2:ld返回1退出狀態 – SevenDays
@wsevendays:請用確切的錯誤信息更新問題。一般而言,通過更新您的帖子來回應澄清請求,而不是回覆評論。首先,如果沒有閱讀評論,一個問題應該是可以理解的。另一方面,SO是一個質量保證和網站,而不是一個論壇,評論意圖不適合(也不適合)討論。 – outis