因此,我需要一个将Person指针作为其参数的方法。这意味着我必须在我的头文件和cpp文件中都声明它。看起来像这样。
人员注册
#pragma once
class PersonReg
{
public:
PersonReg(int const maxSize);
void addPerson(Person* personPtr);
~PersonReg();
};
PersonReg.cpp
PersonReg::PersonReg(int mSize)
{
maxSize = mSize;
}
void add(Person* personPtr) {
//Do stuff
}
PersonReg::~PersonReg()
{
}
问题是Visual Studio抱怨addPerson的函数定义丢失,并提出了实现它的建议。如果我这样做,它看起来像这样:
void PersonReg::addPerson(Person * personPtr)
{
}
现在这里发生了什么?为什么找不到我的实现?星号周围的空格是什么意思?有什么不同?
最佳答案
void PersonReg::addPerson(Person* personPtr) {
//Do stuff
}
是你所需要的。您已经错过了说出函数的正确名称和名称空间的地方。
我也不认为星号周围的空格很重要。有些人在类型旁边留了空格,有些人在名称旁边留了空。
关于c++ - H和CPP文件中的C++冲突指针声明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47173861/