gpt4 book ai didi

c++ - "Error: Unresolved external symbol"每当我使用纯虚函数时

转载 作者:太空狗 更新时间:2023-10-29 19:37:29 24 4
gpt4 key购买 nike

我觉得我在做一些非常愚蠢的事情,但我就是想不通我的代码有什么问题。我什至做了一个 super 简化版的代码,但仍然出现错误:

#include <iostream>

using namespace std;

class c1{
public:
c1(){}
~c1(){}

virtual int add(int a, int b);

private:
protected:


};

class c2 : c1{
public:
c2(){}
~c2(){}

int add(int a, int b){
return a+b;
}

};

int main(){

c2 c;
c.add(5,6);

}

谁能找出我认为是有史以来最愚蠢的错误?

这是确切的错误信息:

1>main.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall c1::add(int,int)" (?add@c1@@UAEHHH@Z)

最佳答案

virtual int add(int a, int b);

这不是纯虚函数的声明。它只是虚函数的声明。它缺少定义,这就是您收到错误的原因。

virtual int add(int a, int b) = 0;

这是一个纯虚函数的声明。它不需要定义,这就是不会出现错误的原因。

关于c++ - "Error: Unresolved external symbol"每当我使用纯虚函数时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14380608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com