g++ 4.7.2 を使用して、2003 年に最後に更新されたステガノグラフィ パッケージをコンパイルしようとしています。ヘッダー ファイルには、次のステートメントがあります。
typedef AudioDataImpl<AuMuLaw,BYTE> AuMuLawAudioData;
inline BYTE AuMuLawAudioData::readValue(BinaryIO *) const {return (io->read8());}
さまざまな形式のデータを読み書きするための同様のステートメントが他にもいくつかあります。コンパイルすると、次のエラー メッセージが生成されます。
AuData.h:29:13: エラー: 特殊化メンバー 'AudioDataImpl::readValue' には 'template<>' 構文が必要です。
繰り返しになりますが、このようなエラー メッセージは、ヘッダー ファイルの各行に対して生成されます。
最初は、コンパイラがテンプレートを適切に特殊化しているように見える typedef ステートメントを無視していると思っていたので、typedef 値を実際のテンプレート式に置き換えましたが、同じエラーが発生したため、問題を引き起こしているのは typedef 自体ではありません。2003 年から現在にかけてテンプレートの処理が変更されたため、このコードはコンパイルされなくなりましたか?