小编yan*_*818的帖子

C++11如何将遗留类转换为模板

我有一个遗留类,例如:

class Wrapper{
public:
    Wrapper(void*);
    void* get();
};
Run Code Online (Sandbox Code Playgroud)

我想创建一个类型安全的包装器,例如:

template<class T>
class Wrapper{
public:
    Wrapper(T);
    T get();
};
Run Code Online (Sandbox Code Playgroud)

由于 C++11,这样的东西将无法工作:

template<class T = void*> //Here I would need <>
class Wrapper...

typedef Wrapper<void*> Wrapper; //This isn't allowed
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以将 Wrapper 转换为模板类,而无需编辑已使用它的所有位置?

c++ templates c++11 typesafe

2
推荐指数
1
解决办法
119
查看次数

标签 统计

c++ ×1

c++11 ×1

templates ×1

typesafe ×1