gpt4 book ai didi

c++ - 固定尺寸表

转载 作者:行者123 更新时间:2023-11-30 04:34:39 26 4
gpt4 key购买 nike

我正在使用固定数组编写 FixedSizeList 类。我对固定大小的模板参数有疑问,我试图了解我的解决方案是否正确,甚至我该如何解决我的问题。

基本上,这是我类(class)的骨架:

#pragma once

template <typename T, unsigned int N>
class SListFixed
{
public:
SListFixed();

private:
template <typename T>
struct Node
{
Node(T value)
:element(value), nextElement(0)
{
}

T element;
int nextElement;
};

Node m_data[N];
int m_head;
int m_tail;
size_t m_elementCounter;
};

第一个问题是关于这个结构的正确性。然后我想了解为什么这段代码无法编译。我应该使 m_data 成为指针并将其分配到堆栈上吗?

谢谢。

最佳答案

要让它编译,改变

Node m_data[N];

Node<T> m_data[N];

因为 Node ,毕竟是一个模板类。

也就是说,只需按照 Oli 所说的操作并删除 template <typename T>来自 Node 的定义也可以,因为 TFixedSizeList 得知实例化。我建议这样做,因为 Node 的类型不能与 FixedSizeList 的类型不同.

不过,这个答案太明显了,我怀疑我是否在回答你的问题。如果我错过了什么,请告诉我。

关于c++ - 固定尺寸表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5849988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com