かなり大きなファイルに次の行があります。
#include <sha.h>
#include <hex.h>
コンパイルすると、次のコンパイラ エラーがスローされます。
1>d:\work\app\tools\cryptopp\algparam.h(322): error C2061: syntax error : identifier 'buffer'
1> d:\work\app\tools\cryptopp\algparam.h(321) : while compiling class template member function 'void CryptoPP::AlgorithmParametersTemplate<T>::MoveInto(void *) const'
1> with
1> [
1> T=bool
1> ]
1> d:\work\app\tools\cryptopp\algparam.h(329) : see reference to class template instantiation 'CryptoPP::AlgorithmParametersTemplate<T>' being compiled
1> with
1> [
1> T=bool
1> ]
私は何かを忘れていると確信していますが、何がわからないのですか。hex.h を含めなくても問題はなく、SHA256 ハッシュは問題なく取得できますが、hex.h を含めるとエラーが表示されます。
編集
疑問に思われる方のために、Crypto++ ツールキットの algparam.h から:
void MoveInto(void *buffer) const //<=== line 320
{
AlgorithmParametersTemplate<T>* p = new(buffer)
AlgorithmParametersTemplate<T>(*this);
}
CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate<bool>; // <== line 329
編集:無関係なコードを削除