本人使用keil環境開發STM32的C++程式已經有幾年時間了。覺得非常方便實用。近來在改造一個AVR的老專案的時候想用C++來重寫,使用Atmel Studio 7環境。結果發現一個關于繼承的編譯錯誤解決不了,在此請教高手幫我看看,萬分感謝!
下面是一個示例
//--------------------------------//
class CAAA
{
public:
CAAA(){};
//~CAAA(){};
virtual void Init(void)=0;
protected:
private:
};
class CBBB : public CAAA
{
public:
CBBB(){};
void Init(void){};
protected:
private:
};
CBBB bbb;
//--------------------------------//
這樣編譯沒有錯誤。但是我需要基類 CAAA中的解構式,但是使能了~CAAA(){}; 函式,編譯就會報錯:
Severity Code Description Project File Line
Error ld returned 1 exit status GccApplication1 collect2.exe 0
不知為何,這種寫法 我在Keil MDK STM32 和 IAR 的STM8 中已經用了很久了 沒有問題。不知道這個AVR的編譯器有什么特殊之處,需要什么特殊處理。
謝謝老大們指點一下,萬分感謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/20401.html
標籤:單片機/工控
