我正在尝试导入Excel COM对象,以便可以在C ++程序中读取和写入Excel单元格数据。
但是当我导入COM所需的内容时,它说
我的程序中的全局变量与导入的库中的函数名称之间存在名称冲突。
我不想将我的全局变量名称修改为else,因为它已在许多地方使用。
还有另一种避免这种冲突的方法吗?
以下是我的MWE。
//MicroSoft Office Objects
#import "C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\mso.dll"\
rename("DocumentProperties","DocumentPropertiesXL")\
rename("RGB","RBGXL")
int connect;
int main(int argc, _TCHAR* argv[])
{
return 0;
}
最佳答案
选项1:不要使用全局变量。这是最好的选择。
选项2:引入名称空间:
namespace my_project {
int connect;
};
然后,您可以使用
my_project::connect
或在使用它的文件中放置using namespace my_project;
或using my_project::connect;
来访问它。关于c++ - 如何避免全局变量和导入库中的函数之间的名称冲突?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34872291/