Ghi*_*ita 3 c++ templates visual-studio-2010
我有一个这样的课程:
struct WorkItemResultData;
template <typename ExecutionPolicy>
class Engine
{
public:
typedef std::shared_ptr<WorkItemResultData> WorkItemResultData_ptr;
}
Run Code Online (Sandbox Code Playgroud)
typedef
不依赖于任何模板参数。有没有办法在Engine::WorkItemResultData_ptr
课外使用类型Engine
?
编辑我知道我可以像 awoodland 提出的解决方案一样使用它,但我的 typedef 与类型参数无关,并且希望能够在不指定特定引擎类型的情况下执行此操作。
由于 typedef 根本不依赖Engine
,您可以将其拉出类:
typedef std::shared_ptr<WorkItemResultData> WorkItemResultData_ptr;
template <typename ExecutionPolicy>
class Engine {...};
Run Code Online (Sandbox Code Playgroud)
如果你想保持封装,只需使用命名空间:
namespace Engine
{
typedef std::shared_ptr<WorkItemResultData> WorkItemResultData_ptr;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1635 次 |
最近记录: |