首页 > 解决方案 > 使用范围运算符进行对象实例化

问题描述

我遇到了这样的代码:

SampleObject<int>* example = new SampleObject<int>::aMethod();

无法理解它,我不熟悉c ++。

有人可以向我解释吗?

标签: c++objectinstantiation

解决方案


SampleObject<int>* example = new SampleObject<int>::aMethod();

只有当它是该名称aMethod的成员类型别名或指针可通过继承转换的另一种类型时,这才能是格式正确的。例如像这样:SampleObjectSampleObject

template<class T>
struct SampleObject{
    using aMethod = SampleObject;
};

有人可以向我解释吗?

这没有多大意义;至少不是没有上下文。


推荐阅读