我在使用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/