我試圖實現這個:測試::運營商新
namespace Test
{
void* operator new(size_t s)
{
return malloc(s);
}
}
但G ++(4.3.1)表示:
void* Test::operator new(size_t)’ may not be declared within a namespace
難道我做錯了什麼?
如果是的話,是否有重載操作符new在我的類中使用?我不想創建一個基類,並讓所有的類都從這樣的基類繼承。
該診斷很奇怪,因爲operator new * can *可以在全局名稱空間中聲明。但只有在那裏:) – 2009-10-14 18:37:27
所以你說,通過語言設計,我可以重載在全局命名空間中的運算符new,對吧? – ebasconp 2009-10-14 18:41:21
通過語言設計,您可以在全局名稱空間和類的成員中聲明'operator new'。 – AnT 2009-10-14 18:50:22