我有一个相当大的应用程序,它将大部分程序数据保存在一个名为system
的大型容器对象中。
所以我一直在访问东西,例如printf("%s\n",system.constants.jobname);
,并且更改system
的名称是不可取的。
我后来了解到,函数system
作为本地C
函数存在,用于运行终端命令,例如system("rm *.txt");
我的问题是,尝试使用 system
作为函数时出现编译错误,因为它已定义为对象。
是否有任何方法可以调用 native C
函数并显式忽略以编程方式定义的变量?或者给 native system
函数一个别名? (我使用的是 C++,所以使用它就可以了)
最佳答案
如果您使用的是 C++,则 system
位于全局命名空间中。假设您已将内容放入正确的命名空间中(您已经这样做了,对吧?),您可以将其称为 ::system
。
关于c++ - 创建具有该名称的变量后调用 native C 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44104661/