私は調査を行いましたが、このメッセージの意味がまったくわかりません。私が見つけたものはすべて、コンパイラ自体のバグのようです。また、「タイプを決定するのに十分なコンテキスト情報がありません」というメッセージは役に立たないこともどこかで読みました。
私の質問: このコンパイル エラー メッセージの意味について誰か情報を持っていますか?
この質問はコード固有のものである可能性があることを理解しています。私のコードは単にグローバルな匿名構造体を宣言しているだけで、関数でそれにアクセスしようとすると、このエラーが発生します (または評価したので)。
編集:コードをコンパイルしました! - しかし、まだエラーの意味がわからないので、質問を開いたままにします。
編集:重要であると思われる限り、これが私のコードです:
typedef ofstream::pos_type ofilepos;
struct stack // stack is my own stack data-structure
{
// ...
// int L; struct N *l;
stack(): L(0), l(NULL) {}
}
// ...
struct
{
const char* zero;
stack<ofilepos> chunks; // it was 'chunks();' with (), and it didn't work
} _fileext = {"\0\0\0"};
// ...
ofstream& write_stack_pushsize(ofstream& f)
{
_fileext.chunks.push(new ofilepos(f.tellp()));
f.write(_fileext.zero,4);
return f;
}
後でではなく、構造体宣言でコンストラクターを呼び出していたことが原因だったのではないかと思います...または何か... C++ 03のバグである可能性があります。