像cstdio或cstdlib这样的c++头文件会引发编译错误

c++ headers like cstdio or cstdlib raise compilation errors

本文关键字:文件 错误 编译 c++ cstdio cstdlib      更新时间:2023-10-16

下面的代码会引发许多错误:

namespace ns1 {
     #include <boost/lockfree/queue.hpp>
     ...
}

/usr/include/c++/4.9/cstdlib:118: error: '::div_t' has not been使用::div_t声明;^

/usr/include/c++/4.9/cstdlib:119: error: '::ldiv_t' has not been使用::ldiv_t声明;^

据我所知,错误cstdlib是在一个命名空间,但stdlib.h不是(这是从cstdlib包含并用于大多数定义)。

什么技术解决方案允许我将包含保持在自定义命名空间下并解决任何冲突?

我发现了问题-包含在名称空间

通常这样的错误是由于您在它之前包含了某些内容而导致的。

检查定义的类或结构是否在右括号后没有分号。