mardi 31 mars 2020

C++ none of the 2 overloads can convert all the argument type

when I use a "std::vector" as a parameter of a function, error always exists:C2665,none of the 2 overloads can convert all the argument type. Is there something wrong, when I use the vector as the function parameter?

first.cpp

template<typename Geotype> bool Blocks<GeoType>::update(const GeoType &New){
  std::vector<Geotype>Temp;
  ...
  result = li::ki::UpdateGeo(Temp);// where error exists
  }

first.h

template <typename GeoType>
class Block : public IBlock{

public:

bool update(const GeoType &New);
Geotype result;
}

second.cpp

namespace li{
namespace ki{

interface::Ring UpdateGeo(std::vector<interface::Ring> &Container) {
interface::Ring result=Container.back();
return result;
}}}

Aucun commentaire:

Enregistrer un commentaire