2017-06-20 54 views
-4

在Windows中,我可以看到任何在該命名空間外的命名空間中聲明的變量,但是當涉及到Multi編譯器時,它非常嚴格,如果您在let namespace X中聲明瞭某個變量,你只能在命名空間X中訪問這個變量,但是我想從命名空間中訪問這個變量。Integrity RTOS Multi Compiler

是否有任何預處理器定義或任何方式使其成爲可能。這對我來說是必須的,我不能刪除命名空間。

任何形式的幫助表示讚賞。

namespace X 
{ 
    int a = 5; 
} 

int b = a + 6; 

result: a is undefined in multi compiler 
+0

請爲您的問題提供代碼,和錯誤,如果你的編譯器抱怨任何東西。 –

+0

我想,但這是一個私人項目,這就是爲什麼我不能提供代碼我只能舉一個例子 –

+0

我想,但這是一個私人項目,這就是爲什麼我不能提供幫助,我只能給隨機猜測。請寫出一個觸發錯誤的最小代碼,如果沒有它,我們就無法提供幫助,因爲這是猜測。 –

回答

0

作爲替代資格每次使用:

namespace X 
{ 
    int a = 5; 
} 
using X::a; // In the global namespace, a now means X::a 

int main() 
{ 
    int b = a + 6; // Per the using-declaration, this is X::a 
}