2016-01-19 57 views
0

我想導入一個Excel COM對象,以便我可以在我的C++程序中讀取和寫入Excel單元格數據。如何避免全局變量和導入庫中的函數之間的名稱衝突?

但是,當我導入COM所需的時候,它說 我的程序中的全局變量和導入的庫中的函數名稱之間存在名稱衝突。 我不想修改我的全局變量名,因爲它已經在很多地方使用過了。

是否有另一種方法來避免這種衝突? 以下是我的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; 
} 
+0

使用'namespace' – malchemist

回答

4

選項1:不要使用全局變量。這是最好的選擇。

選項2:引入一個命名空間:

namespace my_project { 
    int connect; 
}; 

然後你可以訪問此使用my_project::connect,或將using namespace my_project;using my_project::connect;在你使用它的文件。

+0

非常感謝。我將使用命名空間。 –

相關問題