我有一个 C++ 程序。在这个程序的开头,我定义了一些这样的参数,我在我的代码中使用了这些参数,我们称之为:“first.cpp”;
#define column 6 //number of columns in the mat1
#define row 5 //number of rows in the mat1
int main(){
...
}
现在我想在另一个名为“second.cpp”的程序中执行这个“first.cpp”程序。 有谁知道如何在 second.cpp 中调用 first.cpp 以及我应该如何初始化 second.cpp 中的上述 2 个参数(列和行)? 实际上,我想在另一个程序(second.cpp)中运行一个 c++ 程序(first.cpp)几次,每次我都想更改(列和行)的值,这怎么可能? ... 事实上,我有:
#define column 6
#define row 5
int func1(int a[][column],int b[][row]);
int main(){
...
}
如您所见,我在 func1 中定义了一个二维数组作为参数,并且根据 c 规则,我有必要为第二个维度使用一些值。这就是为什么我在 main() 之前定义这些参数...并且由于某些限制我不喜欢用指针定义二维数组...这就是原因...
最佳答案
how it could be possible?
只要您坚持使用#define
预处理器常量,这是不可能的。这些在你编译后被固定到你的 first.cpp
中。
您可以做什么(如 @NickLamp 的 comment 中所述):提供这些常量作为命令行参数。
如果没有给出命令行参数,您可以考虑将它们设置为默认值。
关于c++ - 当我们在另一个程序中调用该程序时更改程序中常量参数的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35730263/