当我这样做时...
auto t = typeid(float);
...我得到:
错误 C2248“type_info::type_info”:无法访问类“type_info”中声明的私有(private)成员
当然,我知道我能做到...
auto t = typeid(float).name();
但如果我想使用第一个表达式,我将如何篡改 type_info 类并使用 friend 来实现我的目标?有什么建议吗?
最佳答案
你不能让你的类(class)成为标准类(class)的 friend
。
typeid
表达式是一个左值,因此您可以简单地将引用绑定(bind)到它:
auto& t = typeid(float);
关于c++ - 如何使用friend访问STL私有(private)成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33349359/