new または delete 組み込み関数を隠す宣言があります。
これは、予期しない動作を引き起こすため危険です。また、紛らわしいコンパイルエラーの原因にもなります。
ID |
問題箇所 |
説明 |
---|---|---|
1 |
定義 |
再定義が定義された場所 |
#include <stdio.h> #include <new> class A { public: void speak() { printf("hello"); } }; void * operator new(size_t size) throw (std::bad_alloc) { return NULL; }; int main() { A *a = new A; a.speak(); delete a; return 0; }
© 2010 Intel Corporation. 無断での引用、転載を禁じます。