【发布时间】:2019-01-19 02:10:03
【问题描述】:
我有点困惑。事实上,我在一个头文件的命名空间中声明了一个全局向量:
namespace foo {
...
static std::vector<T> vec;
...
void append(T item) {
vec.push_back(item);
}
T get(int index) {
return vec[index];
}
}
当我想在运行时恢复其中一个向量元素时:
foo::append(/* item */);
T ItemFromVec = foo::get(0);
我有这个对话框:
显然,向量是空的。
我想问题是它是static,但如果它不是静态的,我会从链接器中得到错误。我也没有实现 .cpp 文件。
我应该怎么做,为什么要这样对我?
【问题讨论】:
标签: c++ vector static stdvector static-variables