C++言語とIloCplexフレームワークを使用したコンパイルの問題があります。エラー: "予想されるコンストラクタ、デストラクタ、または型変換の前に 'typedef'"
このエラーは、他のファイルによるものではないことを保証するために、私はちょうどすることを決定し、クラスのヘッダーコールAbstractModelで、私が最初にメイクファイルを使用して、プロジェクト全体をコンパイルしようとしましたが、私は予期しないエラーが発生しましたこのコマンドでこのクラスをコンパイルします
:g++ -o AbstractModel.o -c -I/path/to/cplex/include -I/path/to/concert/include -DIL_STD AbstractModel.cpp
は、その後、私は同じエラーメッセージが、ここにAbstractModelクラスでしまったことに気づきました
とtype.hクラス:
エラーは以下の通りです:
In file included from AbstractModel.hpp:12, from AbstractModel.cpp:7: type.h:6: error: expected constructor, destructor, or type conversion before ‘typedef’ In file included from AbstractModel.cpp:7: AbstractModel.hpp:50: error: ‘Vector’ does not name a type AbstractModel.hpp:51: error: ‘Vector’ does not name a type
任意の提案ですか?
P.S:Cplexはこのコンピュータで正常に動作しますが、同じコマンドで完全にコンパイルされる同じ種類のクラスの別のプロジェクトがあります。
#ifndef CUSTOM_TYPE_H
typedef IloNumArray Vector;
typedef IloArray<IloNumArray> Matrix;
typedef IloNumVarArray VariableVector;
typedef IloArray<IloNumVarArray> VariableMatrix;
#define CUSTOM_TYPE_H //This should be just under the #ifndef, not here.
#endif
結果は同じままですが、私は同じ動作をする別のプロジェクトを持っています:/ – Faylixe
まあ私は問題を見つけました。私は以前のプロジェクトの定義をコピーして、カーラクターは > ILOSTLBEGIN マクロ。 ご迷惑をおかけして申し訳ありませんが、ご意見ありがとうございました。 – Faylixe
本当にそのマクロが必要ですか?そして、私は一致するILOSTLENDを見ていない – CashCow