错误 C2679:二进制“<<": 没有找到使用“std::string"类型的右侧操作数的运算符

error C2679: binary #39;lt;lt;#39; : no operator found which takes a right-hand operand of type “std::string”(错误 C2679:二进制“: 没有找到使用“std::string类型的右侧操作数的运算符)

本文介绍了错误 C2679:二进制“<<": 没有找到使用“std::string"类型的右侧操作数的运算符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

代码:

    #include "stdafx.h"
    #include <iostream>
    #include <fstream>
    #include <string.h>

    using namespace std;
    int main()
        {
            ifstream fin ("ride.in.txt");
            ofstream fout ("ride.out.txt");
            int ta, tb;unsigned int i;
            ta = tb = 1;
            string a, b;
            fin >> a >> b;
            for (i = 0; i < a.size(); i++)
                ta = ta * (a[i] - 'A' + 1) % 47;
            for (i = 0; i < b.size(); i++)
                tb = tb * (b[i] - 'A' + 1) % 47;
            if (ta == tb)
                fout << "GO" << endl;
            else    
                fout << "STAY" << endl;
            return 0;
        }

错误:

error C2679: 
binary '<<' : no operator found which takes a right-hand operand of type  "std::string"

推荐答案

我觉得问题是:

#include <string.h>

改为:

#include <string>

这篇关于错误 C2679:二进制“<<": 没有找到使用“std::string"类型的右侧操作数的运算符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:错误 C2679:二进制“<<": 没有找到使用“std::string"类型的右侧操作数的运算符

基础教程推荐