[英]Was not declared in this scope error when using private class in C++
I've a class 我上课
class myClass
{
private:
std::list <myInnerClass> mylists;
class myInnerClass
{
// Design for this private class
}
}
I can't understand why the line std::list <myInnerClass> mylists
gives me the following error: 我不明白为什么std::list <myInnerClass> mylists
会给我以下错误:
- Type 'myInnerClass' was not declared in this scope
- Type 'myInnerClass' could not be resolved
Where am I wrong? 我哪里错了?
You use myInnerClass
before you declare it. 在声明之前,请使用myInnerClass
。
This code will compile: 该代码将编译:
class myClass
{
private:
class myInnerClass
{
// Design for this private class
}
std::list <myInnerClass> mylists;
}
You are using your inner class before declaring it 您在声明之前使用内部类
fix: 固定:
class myInnerClass
{
// Design for this private class
};
std::list <myInnerClass> mylists;
first you have to declare inner class and then You can use it 首先,您必须声明内部类,然后可以使用它
Your code 您的密码
class myClass
{
private:
std::list <myInnerClass> mylists;
class myInnerClass
{
// Design for this private class
}
}
Correct code: 正确的代码:
class myClass
{
private:
class myInnerClass
{
// Design for this private class
}
std::list <myInnerClass> mylists;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.