namespace X
{
void* operator new (size_t);
}
給出錯誤消息:運營商新的內部命名空間
error: ‘void* X::operator new(size_t)’ may not be declared within a namespace
它是一個gcc compiler bug?在較舊的gcc版本中,它似乎正在工作。 任何想法,爲什麼不允許?
使用案例: 我想只允許自定義operator new/delete
的班,想禁止全球new/operator
。而不是鏈接器錯誤,很容易發現編譯器錯誤;所以我編碼:
這適用於舊版本的gcc,但不適用於新的。
http://stackoverflow.com/questions/1568168/testoperator-new的重複? – Nemo 2011-06-02 06:01:55
如果您想爲類使用自定義運算符,請使用該自定義運算符爲它們提供一個通用基類。 – sharptooth 2011-06-02 06:10:26