【发布时间】:2021-04-11 16:01:19
【问题描述】:
在尝试将值传递给构造函数时,我不断收到关于构造函数无法接受该值的错误,这是因为主类吗? :
#include <iostream>
#include <string>
using std::cout;
using std::endl;
Class GettingVal{
public:
GettingVal(string z){
setName(z);
}
void setName(string x){
name = x;
}
string getName(){
return name;
}
private:
string name;
}
using namespace std;
int main()
{
GettingVal Name("Hiiiiiii");
std::cout << Name.getName();
}
这是我在编译项目后得到的错误:
error: ‘Name’ was not declared in this scope
std::cout << Name.getName();
【问题讨论】:
-
我得到的错误比这多得多,这里有很多错别字和使用前声明错误:godbolt.org/z/8znqec
-
由于多种原因,此代码无法编译。
Class而不是class,类定义后没有;,using namespace std语句前没有string,等等 -
请检查您是否复制粘贴您正在编译的实际代码
-
当你有很多很多错误时,修复第一个错误并重新编译。如果您在这里需要帮助,您需要给我们一个具体的错误来处理 - 这有点太笼统了。
-
如果这是 Visual Studio,我建议您查看“输出”选项卡中的错误消息,而不是错误列表,原因有两个。 1. 输出选项卡中的错误总是按正确的顺序排列, 2. 输出选项卡中的错误消息通常采用更详细的格式,这有时会有所帮助。 #1 很重要,因为很多时候一个错误可能会导致多个问题。
标签: c++ string class declaration name-lookup