具有 #define 的新变量
New variable with #define
我想用 #declare"自动"创建变量。所以,我不想多次键入新变量的类定义(实际上我声明的是多维向量,而不是简单的整数......
我有这个代码:
#define inti(aa)(int (aa)=3)
...
inti(a);
但是编译器说:
有可能"错误:未在此范围内声明'a'"
在C++解决这个问题吗?请帮忙!
#define inti(aa) int aa=3
那是因为
(int aa=3);
是非法的,更何况你在那里拥有的东西。
实际上,划伤那个。不要使用宏。只需以老式的方式声明您的变量。
实际上我正在声明多维向量
+1 用于陈述您的实际问题的问题。这就是typedef
的用途。
typedef std::vector<std::vector<int> > MDVector;
MDVector multiDimensionalVector;
您可以使用
typedef
而不是像这样的#define
:
typedef complexClassName<PossiblyWithManyTemplateParameters> Name
Name var1;
Name var2;
Name var3;
如果您不想多次键入长名称。
相关文章:
- 堆栈粉碎 在我在代码中添加新变量以及一些操作后C++检测到
- 从 for 循环的每次迭代创建一个新变量
- 被允许在构造函数中创建新变量
- 获取“将返回值分配给新变量”的警告和输出是内存地址
- 使用函数创建一个新变量
- C++对现有变量或新变量的条件引用
- 程序在尝试将 file.read() 文件() 到新变量时停止工作
- OpenCV C++:声明一个新变量会导致堆栈损坏
- 在c++中为类的定义添加新变量
- C 确实const_cast诱导新变量
- 使用=构造新变量
- 找到最小值,并将其按相同的顺序分配给新变量-C++
- 如何创建一个新变量并同时在std::tie中使用它
- C++:将指针设置为 nullptr 和将其初始化为新变量类型之间的区别
- C++For循环在输入新变量时被卡住
- 为什么新变量的初始化本身有效
- 具有 #define 的新变量
- 别名而不是糖语法的新变量
- C++ 奇怪的情况,例如将现有变量应用于新变量
- 我是给同一个变量赋值还是重新定义一个新变量