【发布时间】:2009-09-15 09:19:25
【问题描述】:
我有一个程序需要在程序执行时设置向量的类型(根据配置文件中的值)。
我试过这个:
int a = 1
if(a == 1) vector<int> test(6);
else vector<unsigned int> test(6);
test.push_back(3);
但这给了我:
Error 1 error C2065: 'test' : undeclared identifier
我不完全确定为什么,但我认为这是因为向量实际上并没有在编译时确定,因此编译器在编译其余代码时无法使用它。
有没有办法在运行时确定向量的类型,类似于我上面尝试的方法? 我试图在 if 之外创建一个版本,然后将其删除并在 IF 内重新编写新版本。然而,这感觉不对,无论如何我都无法让它工作。 谢谢。
【问题讨论】: