【发布时间】:2023-03-12 07:20:01
【问题描述】:
我卡住了,为什么会报错:声明不兼容...
'void A::function(int,int,std::vector<_ty> *)' : 在'A'中找不到重载的成员函数 错误 C2061:语法错误:标识符“向量” 1> 与 1> [ 1> _Ty=点 1>]
//cpp file
void A::function(int a, int b, vector<B> *p)
{
}
//header file
class B
{
public:
int q;
};
class A
{
public:
void function(int a, int b, vector<B> *p);
};
【问题讨论】:
-
调用现在和原型一样但是还是有错误
-
你能在 cpp 文件中发布
A::functiondecleration 吗?为什么那里有 B 级? -
编辑:函数受保护
-
添加
#include <vector>。 -
如 sad_man 所说,将
#include <vector>然后using namespace std;添加到头文件中。也可能你在某个地方写了void A::function(int,int,std::vector<_Ty> *)而不是void A::function(int,int,std::vector<B> *)。
标签: c++ parameters