operateur new et namespace
Code:
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;
} |
Alors que:
Code:
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? :aie: