将旧的C++代码从Solaris移植到Linux
Porting an old C++ code from Solaris to Linux
我只是想知道C++中是否允许这种类型的声明
static nextUnassignedTableID = 0;
static nextUnassignedFieldID = TSFID_MINIMUM_USER_TSFID;
它在Solaris/AIX上没有任何抱怨。
但是,在Red Hat Enterprise Linux上,它抱怨
TSIDConverter.cpp(637): error #303: explicit type is missing ("int" assumed)
static nextUnassignedTableID = 0;
TSIDConverter.cpp(638): error #303: explicit type is missing ("int" assumed)
static nextUnassignedFieldID = TSFID_MINIMUM_USER_TSFID;
在Linux上,我使用的是带有命令icpc-m32的英特尔11.1编译器。
为了编译它,我应该包括其他库吗?还是不再允许这种类型的声明了?
这几乎是从未被允许的。第一个C++标准不允许C的"隐式int"规则;C99也取消了这个规则。但规则很简单,修复代码也很简单:只要把int
放在编译器抱怨的地方。也许很挑剔,但直截了当。
Default int
在C++中是不允许的,您需要修复此代码并为变量设置显式的int
类型。
相关文章:
- 在C++/Linux中设置单调时钟的一些技巧
- Linux的Cpp上的计时器
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在Linux中哪里可以找到互斥、未来等的源代码
- 如何在linux终端中同时编译和运行c++代码
- 在Linux for Windows上编译C++代码时出错
- 如何找到锁定Linux futex的C++行
- 在linux上调试巨大的C++项目
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- c++方法参数只能在linux的发布模式下自行更改
- Linux equivalent of Solaris walkcontext
- 使用Solaris 64位或Linux 32位到Linux 64位的内存映射文件
- 将旧的C++代码从Solaris移植到Linux
- 正则表达式适用于 Linux,但不适用于 Solaris
- mbstowcs 在 Red Hat Linux 上返回 -1,但在 Solaris 上不返回
- C++ 输入流:Solaris 与 Linux 中的操作顺序
- 错误 strlen 不是 std 的成员,仅在 Linux 上而不是在 Solaris 上
- Linux和Solaris Unix: Coredump在函数的末尾
- Linux/Solaris 扩展路径 C++
- 生成调用流图的工具[c++ solaris linux]