首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.cpp错误:'std::cerr <“转换文件\”中的'operator<‘没有匹配项

.cpp错误:'std::cerr <“转换文件\”中的'operator<‘没有匹配项
EN

Stack Overflow用户
提问于 2011-08-08 12:28:07
回答 3查看 1.4K关注 0票数 1

我正在尝试执行此代码nmea2kml.cpp

但我一直收到以下错误。此外,程序有命令行参数-f path Read file at given path (e.g. /some/where/nmea.txt),我应该更改什么才能运行该程序?我得到的错误是由于编译器的问题吗?因为我把cygwin,MinGW编译器添加到eclipse中搞砸了!!我知道程序是正确的。其他人已经使用了它,并获得了结果。(http://julien.cayzac.name/code/gps/)

错误

代码语言:javascript
复制
g++ -O0 -g3 -Wall -c -fmessage-length=0 -osrc\nmea.o ..\src\nmea.cpp
..\src\nmea.cpp: In function `int main(int, char**)':
..\src\nmea.cpp:195: error: no match for 'operator<' in 'std::cerr < "Converting file \""'
..\src\nmea.cpp:195: note: candidates are: operator<(const char*, const char*) <built-in>
..\src\nmea.cpp:195: note:                 operator<(void*, void*) <built-in>
..\src\nmea.cpp:336: error: no match for 'operator<' in 'std::cout < "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"'
..\src\nmea.cpp:336: note: candidates are: operator<(const char*, const char*) <built-in>
..\src\nmea.cpp:336: note:                 operator<(void*, void*) <built-in>
..\src\nmea.cpp:336: error: `std::endl(std::basic_ostream<_CharT, _Traits>&)' cannot appear in a constant-expression
..\src\nmea.cpp:355: error: parse error in template argument list
..\src\nmea.cpp:336: error: `endl<<expression error> >' cannot appear in a constant-expression
..\src\nmea.cpp:406: error: parse error in template argument list
..\src\nmea.cpp:336: error: `endl<<expression error> >' cannot appear in a constant-expression
..\src\nmea.cpp:406: error: parse error in template argument list
..\src\nmea.cpp:336: error: `endl<<expression error> >' cannot appear in a constant-expression
..\src\nmea.cpp:406: error: parse error in template argument list
..\src\nmea.cpp:406: error: expected `;' before '}' token
..\src\nmea.cpp:193: warning: unused variable 'outfile'
Build error occurred, build is stopped
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-08 12:30:17

看起来您已经在要编写std::cerr << "..." ( <<运算符)的地方编写了std::cerr < "..." ( <运算符)。

票数 3
EN

Stack Overflow用户

发布于 2011-08-08 12:30:48

尝试对ostreams使用位移位"<<“而不是小于"<”运算符:

代码语言:javascript
复制
std::cerr << "Converting file \"";
票数 1
EN

Stack Overflow用户

发布于 2011-08-08 12:32:24

不,显示的代码不正确。您使用std::cout << ...而不是std::cout < ...执行输出。可能是一些HTML转换把它搞乱了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6977747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档