【发布时间】:2015-01-26 13:47:29
【问题描述】:
我想使用类命名空间中的常量作为静态数组的大小和另一个类中的模板参数。我有跟随错误
// MS VS 2010 C++98
// A.h
class A
{
public:
const static int someNumber;
};
// A.cpp
#include <A.h>
const int A::someNumber = 5;
// B.h
#include <A.h>
class B
{
std::bitset<A::someNumber> btst; // Error! C2975: '_Bits' : invalid template argument
double control[A::someNumber]; // Error! C2466: cannot allocate an array of constant size 0
};
我怎样才能避免它们?
【问题讨论】:
-
我可能理解错了,但错误在哪里?
-
@ForceBru 在代码中...(查看 cmets)
-
你应该把“;”在 A 类和 B 类之后。
-
您如何期望
B.h知道A.cpp中设置的值? -
感谢大家的指正。
标签: c++ compiler-errors constants static-members c++98