C++使用Boost图库通过istream读取*.in文件失败且出现编译告警求助
问题分析
- 你看到的编译输出内容是警告,不是编译错误,代码已经成功编译生成了可执行文件
input - 运行后没有效果不是文件读取失败,是你的程序默认从标准输入读数据,你运行
./input时没有传入example.in的内容,程序处于等待输入的状态
解决方法
正确运行命令
使用shell的输入重定向把文件内容传入程序,运行如下命令即可:
./input < example.in
运行后会得到预期输出:
Arcs that leave 1 go to 2 3 Arcs that leave 2 go to 3 Arcs that leave 3 go to 1 Arcs that leave 4 go to 2 3 5 Arcs that leave 5 go to 1 5
消除编译警告(可选)
你看到的-Wmaybe-uninitialized警告是Boost 1.76版本在-O2优化等级下的已知假阳性警告,不影响程序正常运行。如果想要消除该警告,可以在编译参数中添加-Wno-maybe-uninitialized,或者升级到更高版本的Boost库。
内容的提问来源于stack exchange,提问作者Marcelo de Sousa
相关产品推荐
相关产品推荐

