gpt4 book ai didi

未找到 C++ 成员声明

转载 作者:行者123 更新时间:2023-11-30 03:48:13 25 4
gpt4 key购买 nike

我是一个业余c++程序员,我开始使用类和对象。我想创建一个小的“程序”,接收并显示该人的生日和姓名。我创建了一个程序,您只需输入生日的年月日和姓名,它就会显示出来。我不断在 People.h 和 People.cpp 中收到错误消息:“未找到成员声明” 错误,以及候选者是:std::People::People(const std::People&) People.h“std::People::People()”的原型(prototype)与类“std::People”People.cpp 中的任何内容都不匹配

如果您需要,我在底部的两张图片中包含了 Birthday.h 和 Birthday.cpp。抱歉我的格式困惑,这是我的第二篇文章,我试图让事情变得可读,但我有点失败了。 :P

My Main.cpp is:

#include "Birthday.h"
#include "People.h"
#include <iostream>
using namespace std;

int main() {

Birthday birthObj(4,16,2002);

People ethanShapiro("Ethan Shapiro", birthObj);

return 0;
}

People.h is:

#ifndef PEOPLE_H_
#define PEOPLE_H_
#include <iostream>
#include "Birthday.h"
#include <string>

namespace std {

class People {
public:
People(string x, Birthday bo);
void printInfo();
private:
string name;
Birthday dateOfBirth;
};

}

#endif

People.cpp is:

#include "People.h"

namespace std {

People::People(): name(x), dateOfBirth(bo) {
}

void People::printInfo(){
cout << name << " is born in";
dateOfBirth.printDate();
}

}

Birthday.h Birthday.cpp

最佳答案

People 的唯一构造函数声明为:

    People(string x, Birthday bo);

并且您将构造函数定义为:

People::People(): name(x), dateOfBirth(bo) {
}

定义不匹配任何声明。

你需要使用:

People::People(string x, Birthday bo): name(x), dateOfBirth(bo) {
}

关于未找到 C++ 成员声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33294768/

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