我正在尝试导入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/

10-11 22:28
查看更多