完整性实时操作系统多编译器
Integrity RTOS Multi Compiler
在Windows中,我可以看到我从命名空间外部在命名空间中声明的任何变量,但是当涉及到Multi编译器时,它是如此严格,如果您在命名空间X中声明了一些变量,则必须仅在命名空间X中访问该变量,但我希望也从命名空间之外访问此变量。
是否有任何预处理器定义或任何方法可以做到这一点。这对我来说是必须的,我无法删除命名空间。
感谢任何形式的帮助。
namespace X
{
int a = 5;
}
int b = a + 6;
result: a is undefined in multi compiler
GHS/Multi拒绝你的代码是正确的(例如,GCC也是如此(。
若要访问命名空间的成员,请使用范围解析运算符:
namespace X
{
int a = 5;
}
int main()
{
int b = X::a + 6;
}
作为每次使用限定的替代方法:
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
}
相关文章:
- C/C++编译器通常会删除重复的库吗
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- Win32编译器选项和内存分配
- MSVC多行宏编译器错误
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++,我收到一个无法理解的编译器错误
- 我可以让编译器忽略特定于操作系统的方法吗?
- 暂时将C++项目(VS2015)移至Android操作系统.编译器选项?
- 完整性实时操作系统多编译器
- 为什么在所有数据类型中,int 取决于操作系统或编译器
- 用于核心实时操作系统的 Cppunit
- 非常量引用类型的无效初始化中出错.在Linux操作系统中使用c++代码.GCC编译器
- 使用 QNX 实时操作系统实时接收 UDP 数据包
- 在提升构建中根据操作系统选择编译器选项
- 确定用于在*ix操作系统上构建共享对象的编译器和版本
- 需要帮助选择实时操作系统和硬件
- 编译器库与操作系统库
- 为什么c++标准库与编译器捆绑在一起而不是与操作系统捆绑在一起?
- 编写C/ c++编译器到MBR,在启动操作系统之前执行源代码
- 如何使用Visual C++编译器在Windows上构建库时正确设置目标操作系统版本