2017-06-20 70 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 
}