Declaring a namespace as a friend of a class

No, it’s not possible befriend a namespace. If nothing else, it would constitute a “security breach,” as namespaces can be extended anywhere. So anyone could add an arbitrary function to the namespace and access the class’s non-public data.

The closest you can get is the solution you propose, making those functions static members of a class and befriending the class. But then again, why not make them static members of the original class (C in your code) in the first place?

As an aside, if I ran into a need for so many friend functions in my code, it would make think again about my design, hard; I’d take it as a sign I’m doing something wrong.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)