小编Cro*_*dee的帖子

C++,复制设置为矢量

我需要复制std::setstd::vector:

std::set <double> input;
input.insert(5);
input.insert(6);

std::vector <double> output;
std::copy(input.begin(), input.end(), output.begin()); //Error: Vector iterator not dereferencable
Run Code Online (Sandbox Code Playgroud)

问题出在哪儿?

c++ copy stdvector stdset

130
推荐指数
4
解决办法
13万
查看次数

获取参数,模板,C++的类型

有以下简化的数据结构:

Object1.h

template <class T>
class Object1
{
  private:
     T a1;
     T a2;
  public:
     T getA1() {return a1;}
};
Run Code Online (Sandbox Code Playgroud)

Object2.h

template <class T>
class Object2: public Object1 <T>
{
   private:
      T b1;
      T b2;
  public:
     T getB1() {return b1;}
}
Run Code Online (Sandbox Code Playgroud)

有没有办法如何在下面的函数中获取对象的类型T:

Functions.h

template <class Object>
void (Object *o1, Object *o2)
{
   T = o1.getA1();  //Is it possible to get T from object o1?
   ...
}
Run Code Online (Sandbox Code Playgroud)

或者我们必须提供有关这两个对象的数据类型的其他信息:

template <class T, class Object>
void (Object *o1, Object *o2)
{
   T = o1.getA1(); …
Run Code Online (Sandbox Code Playgroud)

c++ templates types

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×2

copy ×1

stdset ×1

stdvector ×1

templates ×1

types ×1