如何解决这个问题?无效的二进制操作数

时间:2019-11-02 17:23:10

标签: c++

我从c ++开始,但我不明白如何解决此问题:

Image

#include <iostream>
#include <string>
#include <ctime> 
#include <cstdlib> 
using namespace std;

int main(int argc, const char * argv[]) {
    //std::cout << "Hello, World!\n";


    string str ("Teststring");
    cout << str.end() << endl;//HERE

谢谢

1 个答案:

答案 0 :(得分:0)

  1. str.end()会产生意外的行为-它返回一个迭代器,该迭代器从字符串末尾的字符开始
  2. 尝试用std::cout << str.c_str() << endl;替换最后一行,您将会取得进步。有关更多信息,请参见http://www.cplusplus.com/reference/string/string/c_str/。指针/迭代器实际上是不必要的,因此std::cout << str << endl;也可以正常工作。