我在使用C ++语言和IloCplex框架时遇到编译问题。

我首先尝试使用makefile编译整个项目,但遇到类表头调用AbstractModel的意外错误,以确保此错误不是由于其他文件引起的,我决定仅使用此命令编译此类:


  g ++ -o AbstractModel.o -c -I / path / to / cplex / include
  -I /路径/到/音乐会/包含-DIL_STD AbstractModel.cpp


然后我意识到我得到了相同的错误消息,这是AbstractModel类:

http://pastebin.com/B9YiqKUS

和type.h类:

http://pastebin.com/trQ6BDBK

错误如下:


  在AbstractModel.hpp:12包含的文件中,
                   来自AbstractModel.cpp:7:
  type.h:6:错误:“ typedef”之前的预期构造函数,析构函数或类型转换
  在AbstractModel.cpp:7包含的文件中:
  AbstractModel.hpp:50:错误:“向量”未命名类型
  AbstractModel.hpp:51:错误:“向量”未命名类型


有什么建议么 ?

附言:Cplex在这台计算机上可以正常工作,我有另一个项目,该项目具有相同的类,可以使用相同的命令完美地进行编译。

最佳答案

CustomType.hpp必须在AbstractModel.hpp之前#included,因为CustomType.hpp定义了AbstractModel.hpp使用的typedef。

从粘贴的内容中看不出是否确实如此。

理想情况下,您的AbstractModel.hpp标头将本身为#include "CustomType.hpp",而不是依靠它来完成。

关于c++ - 错误:“'typedef'之前有预期的构造函数,析构函数或类型转换”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9293884/

10-12 20:34