【发布时间】:2018-09-23 22:42:17
【问题描述】:
我确定我误解了什么。
在类中实例化一个结构对象并将其作为值传递给构造函数后,我得到一个错误?
错误:'test' 不是类型
#include <iostream>
using namespace std;
struct Test
{
int x = 11;
int y = 22;
};
class A
{
private:
int foo = 100;
public:
A(Test tmp){}
};
class B
{
private:
Test test;
A a(test); //error
public:
B(){}
};
int main()
{
B b;
return 0;
}
【问题讨论】:
-
C++ 是世界上最区分大小写的语言之一。
Test是类型,test是类型Test的 B 类成员。如果写A a(Test)可以解决您的问题,请告诉我们,然后我们可以将问题作为简单的错字关闭。 -
@dlatikay “最”?是否存在半关心和麻木的语言?
-
只是一个愚蠢的玩笑。但谁知道:)
-
这确实是一个简单的错字:要么忘记函数声明中的类型,要么大小写错误,要么为默认成员 init 使用了错误类型的括号。我的问题是为什么你希望它在第一名!
-
@dlatikay:我能想到的唯一不区分大小写的编程语言是 Visual Basic。奇怪的是,SQL 也是不区分大小写的。但关键是,C++ 的大小写敏感性在软件工程领域几乎没有什么特别之处。