我想用#declare“自动”创建变量。所以,我不想多次键入新变量的类定义(实际上我是在声明多维 vector ,而不是简单的整数...)
我有这个代码:
#define inti(aa)(int (aa)=3)
...
inti(a);
但是编译器说:
"error: 'a' was not declared in this scope"
这个问题可以用C++解决吗?请帮忙!
最佳答案
使用:
#define inti(aa) int aa=3
那是因为
(int aa=3);
是非法的,更何况你那里有什么。
实际上,从头开始。 不要使用宏。只需以老式的方式声明您的变量即可。
actually I'm declaring multidimensional vectors
+1 表示您的实际问题。这就是 typedef
的作用。
typedef std::vector<std::vector<int> > MDVector;
MDVector multiDimensionalVector;
关于c++ - 使用#define 的新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10822630/