0

オープン ソース ライブラリに貢献していますが、他の人のコードを変更するのに苦労しています。以前は、ライブラリには file と呼ばれるファイルと、 file内の実装で呼び出されるファイルIntervalT.hがあり、何らかの理由でインクルードされていました。今はinを使用する必要がありますが、で定義されているクラスを使用しようとすると、コンパイラでエラーが発生します (既にファイルの先頭に含まれています)。Curves.hCurves.tccInterval.hCurves.hIntervalT.hCurves.hIntervalT<NT>IntervalT.hIntervalT.hCurves.h

../../../inc/CORE/poly/Curves.h:1337:3: error: ‘IntervalT’ does not name a type

私の質問は次のとおりです。これまでにそのような経験をしたことがないので、" does not name a type" エラーは C++ ヘッダー ファイルの相互インクルードに関連していますか? それとも、このエラーの原因は他の間違いですか? もしそうなら、Curves.h が IntervalT.h を認識できるようにするには、どのようにプログラムを作成すればよいですか?

ところで、このコードは非常に奇妙な方法で構成されています。Curves.tccは実際には によって含まれCurves.hます。これは通常行うのとは逆の方法です。これを行う特定の理由はありますか?それともあまり関係ない?.tcc結局延長って何?

4

1 に答える 1