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

时间:2015-09-23 06:22:33

标签: c++ linux gcc c++-standard-library

以下代码引发了许多错误:

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

/ usr / include / c ++ / 4.9 / cstdlib:118:错误:':: div_t'尚未   声明使用:: div_t;              ^

     

/ usr / include / c ++ / 4.9 / cstdlib:119:错误:':: ldiv_t'尚未   声明使用:: ldiv_t;              ^

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

通常这样的错误是由你之前包含的东西引起的。

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