KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Let's consider a class with overloaded unary operator & (Address-of). Let it be class A template <class C> class A { public: C * operator &() { return &data; } //... private: C data; } Now I want to pass to some function a pointer of type A to fill its data . Let us call it f void f(A * auto_containter) { //... } But it is clear why the code bellow wouldn't work (even wouldn't compile). It is because the overloaded operator is called. A a; f(&a); The question is following: Is there any syntax to pass address of a to f ? If no, then for me it is very strange why it is allowed to overload unary operator & , because it makes code more buggy and difficult to understand. Or there are some other reasons?
Tags (comma-separated)
Save Edits
Cancel