C++:要设置的泛型类型的向量

正义

如何将存储泛型 A 的共享指针的向量复制到集合?

#include <memory>
#include <vector>
#include <set>

template <typename T>
class A {
   public:
      T a;
      A(const T &a_) : a(a_) {}
};

template <typename Type>
class comp
{

   bool operator() (const Type & a1, const const Type &a2) const {
       return (a1->get().a < a2->get().a);
   }
};

不幸的是,这种结构不起作用

int main() {
   using v = std::vector <std::shared_ptr <A <double> >> ;
   using s = std::set <std::shared_ptr <A <double> >,comp <std::shared_ptr <A <double> > > >;

   s.insert(v.begin(), v.end()); //Trying to insert

   return 0;
}

并发生以下错误(VS 2015):

error C2059: syntax error: '.'

谢谢你的帮助。

更新的解决方案:

感谢您对使用提出意见,更新后的有效解决方案是:

template <typename T>
class A {
    public:
        T a;
        A(const T &a_) : a(a_) {}
};

template <typename Type>
class comp
{
    public:
    bool operator() (const Type & a1, const const Type &a2) const {
        return (a1.get()->a < a2.get()->a);
    }
};


int main() {
    std::vector <std::shared_ptr <A <double> >> v;
    std::set <std::shared_ptr <A <double> >, comp <std::shared_ptr <A <double> > > > s(v.begin(), v.end());

}
用户2100815

当你说这样的话:

using v = std::vector <std::shared_ptr <A <double> >> ;

然后你创建一个新的类型名称v,它是一个向量。

然后,您可以创建该类型的对象:

v av;      // av is an object of type v

并可能对它们调用方法:

av.begin()

这是否有意义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

存储泛型 T 类型类的 C++ 向量

来自分类Dev

C 打印一个泛型类型向量

来自分类Dev

C#集合类型约束泛型

来自分类Dev

声明C#泛型类型方法

来自分类Dev

C#中泛型类型的缺点

来自分类Dev

C#中的泛型类型

来自分类Dev

comman的C#泛型类型推断

来自分类Dev

在C#中循环泛型类型

来自分类Dev

C#中的泛型类型转换

来自分类Dev

C#中的双重泛型类型

来自分类Dev

可比类型的C#泛型

来自分类Dev

转换泛型类型C#

来自分类Dev

C#派生泛型类型参数

来自分类Dev

泛型类型参数C#-如何泛型类返回类型

来自分类Dev

从C#泛型类型继承到非泛型类型时,如何降低冗长性?

来自分类Dev

C#泛型并使用类型化方法中的非泛型版本

来自分类Dev

在C#中检查T泛型类型具有属性S(泛型)

来自分类Dev

c#获取泛型类中泛型类型参数的名称

来自分类Dev

C# 泛型对象不能添加到该泛型类型的列表中

来自分类Dev

C#:从泛型转换为值类型

来自分类Dev

C#泛型类型略有不同?

来自分类Dev

C#泛型类型typedef / alias和InvalidCastException

来自分类Dev

C#5.0泛型:参数类型推断

来自分类Dev

C#/。Net泛型如何知道其参数类型?

来自分类Dev

C#中的条件泛型类型构造函数?

来自分类Dev

在C#中访问非泛型类型

来自分类Dev

C#不可分配类型-泛型

来自分类Dev

C#中的泛型和继承类型

来自分类Dev

C#从具有约束的泛型推断类型