#define的新变量

bal*_*ing 2 c++ variables c-preprocessor

我想用#declare"自动"创建变量.所以,我不想多次输入新变量的类定义(实际上我是在声明多维向量,而不是简单的整数......)

我有这个代码:

#define inti(aa)(int (aa)=3)

...

inti(a);
Run Code Online (Sandbox Code Playgroud)

但是编译器说:

"错误:'a'未在此范围内声明"

是否有可能在C++中解决这个问题?请帮忙!

Luc*_*ore 8

使用:

 #define inti(aa) int aa=3
Run Code Online (Sandbox Code Playgroud)

那是因为

(int aa=3);
Run Code Online (Sandbox Code Playgroud)

是非法的,甚至更多你在那里.

实际上,划伤那个.不要使用宏.只是声明你的变量是老式的方式.

实际上,我正在声明多维向量

+1表示您的实际问题.这是一个什么样的typedef.

typedef std::vector<std::vector<int> > MDVector;
MDVector multiDimensionalVector;
Run Code Online (Sandbox Code Playgroud)