Max*_*rai 1 c++ macros templates typedef
我有一个代码:
namespace My { #define sptr std::shared_ptr; }
它被用在很多地方.现在我已将此代码作为库包含到qt项目中,并且无法加载,因为它sptr在某处用作变量名称.
sptr
我可以修改Qt标头并重命名变量,但这在可移植性方面并不好.解决这个问题的最佳方法是什么?typedef不能与模板一起使用.我知道模板结构的黑客,但我仍然需要修改我的代码.
typedef
eq-*_*eq- 8
namespace ns { template<typename T> using sptr = std::shared_ptr<T>; }
另请参阅@Kerrek SB对有关此特定用例的问题的评论.
归档时间:
13 年,3 月 前
查看次数:
103 次
最近记录: