提问人:pnwdino 提问时间:9/8/2023 最后编辑:pnwdino 更新时间:11/23/2023 访问量:168
初始化 std::<list> 或 std::<vector 时出现问题>
Problem with initializing std::<list> or std::<vector>
问:
我编写了一个类,其中我使用 typedef 来定义一种新的列表,并在其中初始化/声明一个向量。列表和向量似乎都未启动,尽管每个向量都包含头文件。当我在代码的不同部分引用任何一个时,它会返回错误private:
'myList' is not a member of 'myAttribute'
这是我目前拥有的代码:
在头文件“headerfile.h”中
namespace MyServiceNamespace
{
struct {
double j;
int c;
} aStruct;
class ServicesAttributes
{
public:
ServicesAttributes();
virtual ~ServicesAttributes();
int madeAdd(int a, int b) {return a + b; };
private:
int a, b;
};
}
在 MyAttribute 文件(我遇到问题的那个)
#include <headerfile.h>
#include <list>
#include <vector>
namespace myAttribute {
class myAttributeClass : public MyServiceNamespace::ServicesAttributes {
public:
typedef std::list<uint32_t> myList;
myAttributeClass();
virtual ~myAttributeClass();
/* functions for the class*/
private:
myList theList;
std::vector<MyServiceNamespace::aStruct> helperStructAttribute;
}; // class myAttributeClass
} // namespace myAttribute
(更改了 var 名称,因为它们在源上下文中没有意义)
我一直不知所措,因为这似乎是一个简单的解决方法,但是,我已经做了一些研究,但还没有找到答案。我希望另一双眼睛能帮助我看到森林里的树木。
我尝试只使用数组,但它遇到了与列表和向量相同的问题。我也尝试将列表声明为 但仍然返回错误typedef std::list<uint32_7>(myList)
'myList' is not a member of 'myAttribute'
当我将向量的类型更改为只是而不是在其他地方声明的结构时,向量工作正常。int
编辑我添加了更好的代码来支持这个问题(每个评论的人都是对的,我不够小心,没有添加足够的信息)。 但是:我解决了我遇到的问题。文件找不到 headerfile.h,因为包含路径有问题。虽然我很想知道这如何导致 std::list 不起作用,但我可能会将其关闭以供参考。感谢大家的快速回复和反馈。
答: 暂无答案
评论
myList
myAttributeClass
aStruct
aStruct
struct
struct
astruct
struct aStruct{...};
struct {...} aStruct;
astruct
typedef
myList
myAttribute
myAttributeClass