C++相談室 part54
■ このスレッドは過去ログ倉庫に格納されています
0047デフォルトの名無しさん
2006/11/01(水) 22:47:11namespace A
{
struct X {};
void *operator new (size_t n, X&) { return 0; }
void f()
{
X c;
new (c) int; // ←ここ
}
}
"ここ"で(size_t n, X&)に適合する呼出が見つかりませんと言われてしまいます。
ネームスペースAからグローバルスペース?に移すと難なく通ります。
operator new (...)で呼び出すとネームスペースから外さなくてもエラーになりません。
仕様でしょうか?
ちなみにVS2003です。
■ このスレッドは過去ログ倉庫に格納されています