首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模板类数组定义不是类型名称、静态或枚举器C++。

问模板类数组定义不是类型名称、静态或枚举器C++。
EN

Stack Overflow用户
提问于 2014-11-12 10:48:05
回答 1查看 408关注 0票数 1

我正在编写一个模板类,作为一个动态数组,我在一个问题上步履蹒跚,找不出出了什么问题。我已经注意到了它,除了解决了一个类似的问题之外什么都没有,就是添加了类名和变量大小,但是仍然得到了这两个问题。这是代码

代码语言:javascript
复制
template<class Val>
class DynamArray
{
private:
    const int kSegmentSize = 15;
    int countPos;
    Val initial[DynamArray::kSegmentSize];
public:
    DynamArray::DynamArray();
    DynamArray::~DynamArray();
    void DynamArray::PutVal(Val value);
    Val DynamArray::GetVal();
};

数组初始值导致错误修复了我添加的DynamArray::的第一个问题,并且错误消失了,但是这个错误仍然存在,我不知道留在这里的是一个完整错误的副本。

代码语言:javascript
复制
error C2327: 'DynamArray<std::string>::kSegmentSize' : is not a type name, static, or enumerator

然后我得到

代码语言:javascript
复制
error C2065: 'kSegmentSize' : undeclared identifier

如果有人对此有任何想法,他们将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-12 10:54:14

这

代码语言:javascript
复制
const int kSegmentSize = 15;
Val initial[DynamArray::kSegmentSize];

应该是

代码语言:javascript
复制
static const int kSegmentSize = 15;
Val initial[kSegmentSize];

因为只允许静态积分指定类中的数组大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26885086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档