derekyang 发表于 2020-7-2 19:15:51

请教 Atmel Studio 7 下使用 C++编程问题。

本人使用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(){};
        virtual 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的编译器有什么特殊之处,需要什么特殊处理。
谢谢老大们指点一下,万分感谢


bitcode 发表于 2020-8-19 13:30:57

如果要调用析构函数,大概是临时对象?容量不够?
页: [1]
查看完整版本: 请教 Atmel Studio 7 下使用 C++编程问题。