我正在编写一个模板类,作为一个动态数组,我在一个问题上步履蹒跚,找不出出了什么问题。我已经注意到了它,除了解决了一个类似的问题之外什么都没有,就是添加了类名和变量大小,但是仍然得到了这两个问题。这是代码
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::的第一个问题,并且错误消失了,但是这个错误仍然存在,我不知道留在这里的是一个完整错误的副本。
error C2327: 'DynamArray<std::string>::kSegmentSize' : is not a type name, static, or enumerator然后我得到
error C2065: 'kSegmentSize' : undeclared identifier如果有人对此有任何想法,他们将不胜感激。
发布于 2014-11-12 10:54:14
这
const int kSegmentSize = 15;
Val initial[DynamArray::kSegmentSize];应该是
static const int kSegmentSize = 15;
Val initial[kSegmentSize];因为只允许静态积分指定类中的数组大小。
https://stackoverflow.com/questions/26885086
复制相似问题