C++动态数据结构
C++ dynamic data structure
嘿!我是 c++ 的新手,我尝试制作一些动态结构。这些是:
class Cschools
{
struct Syear
{
float *marks;
};
};
int main()
{
Cschools *school=new Cschools[5]; //this linking is pretty good
school[0].Syear *year=new school[0].Syear[5]; //there are some errors
return 0;
}
有人可以帮忙吗?
这可能会让你朝着正确的方向前进。
class Cschools
{
public:
struct Syear{
float *marks;
}year;
};
你必须明白你正在声明一个结构。您将访问year
而不是Syear
因为year
"对象"而不是 Syear。
实际上,为什么还要在这里使用结构?你应该只是声明。
class Cschools{
public:
float *marks;
};
还应该有一个适当的构造函数用于Cschools
。
这里缺少很多关于类的基础知识。
请阅读此内容。
school[0].Syear *year=new school[0].Syear[5];
完全重新考虑这条线...
若要指定嵌套类型,必须使用外部类型名称,而不是外部类型的对象:
Cschools::Syear
不过,在 C++11 中,如果需要,您可以从对象中获取该类型:
decltype(school[0])::Syear
由于Syear
私有,您也会遇到麻烦,因为这是使用 class
关键字定义的类成员的默认值。您需要使用 struct
关键字,或添加public:
说明符。
然后你应该学会不使用new
,除非你真的需要动态分配。
相关文章:
- 链表,反向函数,数据结构
- 如何使用set实现无序数据结构?
- 我们可以将数据永久保存为数据结构吗?
- C++中的可变长度数组/数据结构
- 用于存储由空格分隔的字符串的 C++/C 数据结构
- 通过 NIF 从C++返回自定义数据结构
- 编译器上的策略数据结构不起作用
- 尝试构建"lock-free"数据结构C++
- 尝试创建排序的动态列表(数据结构)
- 动态控制C 数据结构中的成员数量
- 处理动态数据结构时代码中的神秘错误
- 实现动态数组数据结构时出现"double free or corruption"错误
- C++动态数据结构
- 动态添加到图形数据结构中
- 如何在c++中动态创建一个具有列表底层数据结构的队列
- 动态数据结构(如链表)的意义是什么?
- 如何使用std::vector等动态数据结构并防止分页
- 在我的神经网络程序中使用的最有效的数据结构是什么?我的程序需要动态分配吗?
- 如何在c++中添加数据结构到动态链接库
- c++中最快的动态数据结构