首页 > 解决方案 > 如何解决这个问题?二进制表达式的无效操作数

问题描述

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

图片

#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

谢谢

标签: c++

解决方案


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

推荐阅读