Alors que:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class A {}; namespace test { void* operator new(size_t size, char* c) throw (std::bad_alloc) { return malloc(size); } } int main() { A* a = test::new ("test") A; //Ne veux pas compiler! return 0; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class A {}; namespace test { void* operator new(size_t size, char* c) throw (std::bad_alloc) { return malloc(size); } } using namespace test; int main() { A* a = new ("test") A; //Compile! Oo return 0; }
La question est: ... pourquoi?
Partager