c++ - 如何解决这个问题?二进制表达式的无效操作数
问题描述
我从 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
谢谢
解决方案
str.end()
会产生意想不到的行为 - 它返回一个迭代器,该迭代器从字符串末尾的字符开始。- 尝试用替换最后一行,
std::cout << str.c_str() << endl;
您将取得进展。有关更多信息,请参见http://www.cplusplus.com/reference/string/string/c_str/。指针/迭代器实际上是不必要的,因此std::cout << str << endl;
也可以正常工作。
推荐阅读
- flutter - 在创建 pdf 时,图像未在 Flutter 中显示
- kotlin - ArrayList 不能转换为 java.lang.Object[]
- docker - 如何将其他 SDK 版本添加到 .NET Docker 映像
- reactjs - React SignalR 回调缺少常量
- android - 无法更新设备上的调试 APK
- odoo-13 - Odoo13:mrp 工单
- node.js - 使用 Node.js 套接字代码提交的 FTP 命令未处理
- powershell - 使用 power shell 自动配置 ssrs
- cpanel - 是否可以通过 cpanle 在共享主机上安装 adobe connect?
- python - Python:将可选参数装饰器作为类实现