C2679二进制' =':找不到带有' point_t'类型的右手操作数的运算符(或者没有可接受的转换)

时间:2017-11-09 11:54:48

标签: c++ vector methods iterator

我试图做一个在.csv文件中写入向量的方法和"严重性代码描述项目文件行抑制状态 错误C2679二进制' =':找不到哪个运算符采用了类型' point_t'的右手操作数。 (或者没有可接受的转换)"不停地弹出来,我已经看到了很多类似的问题,但没有任何解决方案可以帮助我...

方法:

result_en CLogger::Log(const vector<point_t>& pointsVector)

vector<point_t> tmp;
tmp = pointsVector;

if (this->binary == false)
{
    std::copy(tmp.begin(), tmp.end(), std::ostream_iterator<point_t>(file, ";"));

    return res_ok;
}

我已经包含了vector,cstdlib,iterator,fstream没什么用。

1 个答案:

答案 0 :(得分:1)

你需要声明这样的函数:

std::ostream& operator<<(std::ostream& s, const point_t& p)
{
     return s << '(' << p.x << ',' << p.y << ',' << p.z << ')';
}