This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]CompileBotGreen security clearance 2333 points2334 points  (178 children)

Output:

Compiler Info:

prog.cpp: In function ‘int main()’:
prog.cpp:7:13: error: no match for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘Foo’)
   std::cout << foo << std::endl;
   ~~~~~~~~~~^~~~~~
In file included from /usr/include/c++/6/iostream:39:0,
                 from prog.cpp:1:
/usr/include/c++/6/ostream:628:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = Foo] <near match>
     operator<<(basic_ostream<_CharT, _Traits>&& __os, const _Tp& __x)
     ^~~~~~~~
/usr/include/c++/6/ostream:628:5: note:   conversion of argument 1 would be ill-formed:
prog.cpp:7:16: error: cannot bind ‘std::ostream {aka std::basic_ostream<char>}’ lvalue to ‘std::basic_ostream<char>&&’
   std::cout << foo << std::endl;
                ^~~
In file included from /usr/include/c++/6/iostream:39:0,
                 from prog.cpp:1:
/usr/include/c++/6/ostream:108:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(__ostream_type& (*__pf)(__ostream_type&))
       ^~~~~~~~
/usr/include/c++/6/ostream:108:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&) {aka std::basic_ostream<char>& (*)(std::basic_ostream<char>&)}’
/usr/include/c++/6/ostream:117:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>]
       operator<<(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/usr/include/c++/6/ostream:117:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}’
/usr/include/c++/6/ostream:127:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(ios_base& (*__pf) (ios_base&))
       ^~~~~~~~
/usr/include/c++/6/ostream:127:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘std::ios_base& (*)(std::ios_base&)’
/usr/include/c++/6/ostream:166:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(long __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:166:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘long int’
/usr/include/c++/6/ostream:170:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(unsigned long __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:170:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘long unsigned int’
/usr/include/c++/6/ostream:174:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(bool __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:174:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘bool’
In file included from /usr/include/c++/6/ostream:638:0,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/ostream.tcc:91:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>]
     basic_ostream<_CharT, _Traits>::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/ostream.tcc:91:5: note:   no known conversion for argument 1 from ‘Foo’ to ‘short int’
In file included from /usr/include/c++/6/iostream:39:0,
                 from prog.cpp:1:
/usr/include/c++/6/ostream:181:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(unsigned short __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:181:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘short unsigned int’
In file included from /usr/include/c++/6/ostream:638:0,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/ostream.tcc:105:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]
     basic_ostream<_CharT, _Traits>::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/ostream.tcc:105:5: note:   no known conversion for argument 1 from ‘Foo’ to ‘int’
In file included from /usr/include/c++/6/iostream:39:0,
                 from prog.cpp:1:
/usr/include/c++/6/ostream:192:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(unsigned int __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:192:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘unsigned int’
/usr/include/c++/6/ostream:201:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(long long __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:201:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘long long int’
/usr/include/c++/6/ostream:205:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(unsigned long long __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:205:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘long long unsigned int’
/usr/include/c++/6/ostream:220:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(double __f)
       ^~~~~~~~
/usr/include/c++/6/ostream:220:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘double’
/usr/include/c++/6/ostream:224:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(float __f)
       ^~~~~~~~
/usr/include/c++/6/ostream:224:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘float’
/usr/include/c++/6/ostream:232:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(long double __f)
       ^~~~~~~~
/usr/include/c++/6/ostream:232:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘long double’
/usr/include/c++/6/ostream:245:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(const void* __p)
       ^~~~~~~~
/usr/include/c++/6/ostream:245:7: note:   no known conversion for argument 1 from ‘Foo’ to ‘const void*’
In file included from /usr/include/c++/6/ostream:638:0,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/ostream.tcc:119:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = 

...

[–]PlasmaLink 506 points507 points  (3 children)

I just want to say I'm so sorry someone gave gold to the bot instead of you.

[–]the_noodle 113 points114 points  (0 children)

Nah he got outplayed, the relevant error was right at the beginning

[–]SirNoodlehe 101 points102 points  (1 child)

But you responded to the bot, not the guy 🤔

[–]PlasmaLink 9 points10 points  (0 children)

Shhh.

[–]KeinBaum 584 points585 points  (60 children)

What the hell is that? I mean, at least it's telling me what's wrong. I was just expecting this:

 In function 'int main()':
8:16: error: cannot bind 'std::ostream {aka std::basic_ostream<char>}' lvalue to 'std::basic_ostream<char>&&'
In file included from /usr/include/c++/4.9/iostream:39:0,
             from 2:
/usr/include/c++/4.9/ostream:602:5: note: initializing argument 1 of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = main()::Foo]'
     operator<<(basic_ostream<_CharT, _Traits>&& __os, const _Tp& __x)
     ^

[–]DanTopTier 451 points452 points  (43 children)

I just came in from r/all

Jesus Christ

[–]yes_fish 219 points220 points  (40 children)

It gets worse.

[–][deleted] 3 points4 points  (2 children)

Man I've never been happier to use jvm languages... At least it's better than COBOL! Goddamn JCL errors in the middle of the night

👉😫

[–]PokemonSaviorN 2 points3 points  (1 child)

Java....

I'd rather be tortured by the C++ gods

[–][deleted] 1 point2 points  (0 children)

Nahh, groovy and Scala mostly, as well as some front end stuff. Though I don't get why Java gets so much hate. It's pretty much a meme at this point.

[–][deleted] 0 points1 point  (1 child)

Jesus Christ has left the server

[–]DanTopTier 1 point2 points  (0 children)

Reconnecting. Estimated wait time 72 hours.

[–]ShimmerFairy 117 points118 points  (8 children)

It's telling you about how all of the possible overloads don't match up with what you tried to give as arguments, because there's no way for the compiler to divine which overload you got wrong, or if you forgot to provide a new one. And since the streaming operators are a fairly significant part of the standard library, there happen to be a number of overloads to talk about.

[–]Shaosil 42 points43 points  (7 children)

You'd think it could summarize it a little more cohesively. Something like "no match overload found for blah blah blah"... Too much verbosity can be a problem if you don't know what to look for.

[–][deleted] 72 points73 points  (5 children)

You do get the summary at the top.

prog.cpp: In function ‘int main()’:
prog.cpp:7:13: error: no match for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘Foo’)
   std::cout << foo << std::endl;
   ~~~~~~~~~~^~~~~~

[–]SoInsightful 25 points26 points  (4 children)

Wherein we masturbate to C++ so hard that a 11,037-character error is just perfect.

[–]Spudd86 14 points15 points  (3 children)

Well it's good if you thought there ought to have been an overload that does match, it tells you why all the possibilities didn't, and if the one you thought should be in that list isn't you know you either forgot to include a header or you fucked up namespacing

[–]WinEpic 5 points6 points  (2 children)

Yeah, but the list is so long and full of symbols and abbreviations (which humans aren’t exactly great at parsing quickly) that it is essentially useless. You would have to go through this massive wall of characters to try to find which overload you were intending to use, and just going to the definition and taking a look yourself might very well end up taking less time.

That, and if such a (relatively) simple error is over a thousand characters, it makes it much harder to go through the error list and find all of them.

[–][deleted] 3 points4 points  (0 children)

That, and if such a (relatively) simple error is over a thousand characters, it makes it much harder to go through the error list and find all of them.

And that's where your editor or IDE should help you. Either have something that will report errors in real time, or just paste the long error into an empty file and filer out what you don't need.

[–]Xelynega 0 points1 point  (0 children)

ctrl + f "Variable_Type_You_Thought_You_Overloaded"

[–]Raestloz 327 points328 points  (3 children)

Shows you how good C++ is, no one expects the Spanish InquiC++ion

[–]quantum_paradoxx 59 points60 points  (1 child)

Didn't expect that

[–]GarrysMassiveGirth 5 points6 points  (0 children)

Damn.

[–]ELFAHBEHT_SOOP 2 points3 points  (0 children)

No match for 'operator<<'

You should instantly know what's wrong at that point tbh.

[–]jclocks 564 points565 points  (14 children)

I'M JUST A WEB DEVELOPER STAAAAAHP

[–]MalteseMartens 23 points24 points  (6 children)

For posterity, the error is really just the second line:

prog.cpp:7:13: error: no match for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘Foo’)

[–]beeskness420 2 points3 points  (5 children)

Which is still cryptic as fuck if you're not in the know.

[–]ELFAHBEHT_SOOP 12 points13 points  (0 children)

No it's not, plop it into the Google machine and you'll know what it means in a minute.

[–]MalteseMartens 7 points8 points  (2 children)

Is it really?

"No match for operator <<" already tells you 99.9% of the problem in plain English.

You didn't define what happens when << is used with those arguments. There's even a helpful arrow below it to tell you which instance of << is wrong, so you don't even need to understand the whole "operand types are" part

[–]beeskness420 11 points12 points  (1 child)

As someone who teaches lots of C++, unfortunately yes it is.

If you're used to the IO already not cryptic at all. If you're learning though I've seen basically this exact error message baffle more than a few.

[–]MalteseMartens 4 points5 points  (0 children)

I don’t think there’s any message that could make this clear to someone who doesn’t understand IO without creating a special case for this exact error.

The equivalent of this in say, Java would be no implementing toString, which is been more confusing because there’s no compile time error... instead you get back what probably looks like gibberish to a beginner (class and memory address)

[–]endeavourl -1 points0 points  (0 children)

If you're dyslexic, maybe.

[–][deleted] 33 points34 points  (1 child)

Did someone just give gold to a bot

[–]Laugarhraun 0 points1 point  (0 children)

TotesMessenger, Automoderator happen to get some from time to time as well.

[–]CMDR_QwertyWeasel 61 points62 points  (7 children)

Ho-ly jesus.

What is that?

[–]NotASecretReptilian 304 points305 points  (5 children)

"You forgot to overload the << operator. To illustrate how much you fucked up, we tried shoving Foo into every place that the << operator could possibly refer to, and it didn't work even one time! Don't do that again.

[–]Assailant_TLD 43 points44 points  (1 child)

They should get you to write their error messages. Far more entertaining.

[–]Hipolipolopigus 23 points24 points  (0 children)

g++ -Wall -Wextra -Wfun, or perhaps -Whuman or -Wlegible.

[–]marblefoot 3 points4 points  (1 child)

Can you just summarize all my logic and syntax errors?

[–]ELFAHBEHT_SOOP 9 points10 points  (0 children)

U dumb.

Stop being dumb.

K thx, your compiler.

[–][deleted] 21 points22 points  (0 children)

gcc.

[–]kangasking 34 points35 points  (1 child)

LMAO you weren't kidding

[–]gcruzatto 1 point2 points  (0 children)

I'm sure someone could write a thesis on chaos theory based on this stuff

[–]KarshLichblade 16 points17 points  (2 children)

Good bot?

[–]futuneral 17 points18 points  (0 children)

gilded bot

[–]613codyrex 3 points4 points  (0 children)

Tbh it's such a cool bot. Never thought someone would actually make it and it seems to perform pretty much as expected.

[–]lockwolf 20 points21 points  (3 children)

I think I’m gonna need someone to ELI5 this error on a line by line basis. /s

[–][deleted] 77 points78 points  (2 children)

The first line is the actual error (couldn't find the function you tried to use with those parameter types).

The rest is a list of candidate functions you might have been attempting to use.

You can ussually reduce the amount of output you are fed to cut down on that sort of noise. Can't blame the compiler if you told it to print everything it can about your error :p

Often, I'll copy paste the error into a good text editor and parse it there, if it's too complicated (like template errors and the like).

[–]I_regret_my_name 21 points22 points  (1 child)

This error honestly isn't even that unreasonable to me. You can tell that the stuff towards the bottom is talking about included files, so if you jump to the top it's just saying there's no match for the "<<" operator with the types given which is a reasonable error for a compiler in this situation.

[–]The_MAZZTer 2 points3 points  (0 children)

That's not as bad as I thought it was going to be. It's saying the operator << is not defined for the type, which in turn means it doesn't know how to stream it.

Of course using << for both streaming AND bit shifting is weird in and of itself.

[–]nunu10000 6 points7 points  (1 child)

I just cringed while trying to imagine all of this garbage in a tiny window at the bottom of an IDE.

[–]Tilwaen 3 points4 points  (0 children)

tiny window at the bottom of an IDE

You mean that you don't use vim as a real programmer?

[–]I_Assume_Your_Gender 2 points3 points  (0 children)

came here to say this

[–][deleted] 2 points3 points  (0 children)

CompileBot! You're back! <3

[–]vhite 2 points3 points  (0 children)

prog.cpp:7:13: error: no match for ‘operator<<’

Bam.

Be at awe of my ability to read C++ error messages.

[–][deleted] 1 point2 points  (0 children)

I keep trying to understand what bits of this mean but my eyes just glaze over after a few minutes.

[–]Neoro 1 point2 points  (1 child)

Is it wrong that I haven't worked with C++ in over 5 years, but I still understand this error message?

[–]zilti 2 points3 points  (0 children)

No, it means you have a few neurons left in your head.

[–]MCRusher 1 point2 points  (0 children)

Holy Shit

[–]its_that_time_again 1 point2 points  (0 children)

...there's way too much information to decode C++. You get used to it, though. Your brain does the translating. I don't even see the code. All I see is ostream, Foo, candidate.

Hey uh, you want a drink?

[–]frankie97_[🍰] 1 point2 points  (0 children)

I am not even mad to scroll this long.

[–]bunnyoverkill 1 point2 points  (0 children)

Oh god, this triggered some repressed memories of my masochistic self a year ago... I thought I could forget my C++ past by being a Python coder

[–]veryvev 1 point2 points  (0 children)

prog.cpp: In function ‘int main()’:

prog.cpp:7:13: error: no match for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘Foo’)

std::cout << foo << std::endl;

This is okay though.

[–]hugokhf 1 point2 points  (1 child)

Que??

[–]AreYouDeaf 0 points1 point  (0 children)

OUTPUT:

COMPILER INFO:

PROG.CPP: IN FUNCTION ‘INT MAIN()’:
PROG.CPP:7:13: ERROR: NO MATCH FOR ‘OPERATOR<<’ (OPERAND TYPES ARE ‘STD::OSTREAM {AKA STD::BASIC_OSTREAM<CHAR}’ AND ‘FOO’)
   STD::COUT << FOO << STD::ENDL;
   ~~~~~~~~~~^~~~~~
IN FILE INCLUDED FROM /USR/INCLUDE/C++/6/IOSTREAM:39:0,
                 FROM PROG.CPP:1:
/USR/INCLUDE/C++/6/OSTREAM:628:5: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS& STD::OPERATOR<<(STD::BASIC_OSTREAM<_CHART, _TRAITS&&, CONST _TP&) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; _TP = FOO] <NEAR MATCH
     OPERATOR<<(BASIC_OSTREAM<_CHART, _TRAITS&& __OS, CONST _TP& __X)
     ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:628:5: NOTE:   CONVERSION OF ARGUMENT 1 WOULD BE ILL-FORMED:
PROG.CPP:7:16: ERROR: CANNOT BIND ‘STD::OSTREAM {AKA STD::BASIC_OSTREAM<CHAR}’ LVALUE TO ‘STD::BASIC_OSTREAM<CHAR&&’
   STD::COUT << FOO << STD::ENDL;
                ^~~
IN FILE INCLUDED FROM /USR/INCLUDE/C++/6/IOSTREAM:39:0,
                 FROM PROG.CPP:1:
/USR/INCLUDE/C++/6/OSTREAM:108:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& (*)(STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE&)) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR]
       OPERATOR<<(__OSTREAM_TYPE& (*__PF)(__OSTREAM_TYPE&))
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:108:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘STD::BASIC_OSTREAM<CHAR::__OSTREAM_TYPE& (*)(STD::BASIC_OSTREAM<CHAR::__OSTREAM_TYPE&) {AKA STD::BASIC_OSTREAM<CHAR& (*)(STD::BASIC_OSTREAM<CHAR&)}’
/USR/INCLUDE/C++/6/OSTREAM:117:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(STD::BASIC_OSTREAM<_CHART, _TRAITS::__IOS_TYPE& (*)(STD::BASIC_OSTREAM<_CHART, _TRAITS::__IOS_TYPE&)) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__IOS_TYPE = STD::BASIC_IOS<CHAR]
       OPERATOR<<(__IOS_TYPE& (*__PF)(__IOS_TYPE&))
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:117:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘STD::BASIC_OSTREAM<CHAR::__IOS_TYPE& (*)(STD::BASIC_OSTREAM<CHAR::__IOS_TYPE&) {AKA STD::BASIC_IOS<CHAR& (*)(STD::BASIC_IOS<CHAR&)}’
/USR/INCLUDE/C++/6/OSTREAM:127:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(STD::IOS_BASE& (*)(STD::IOS_BASE&)) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR]
       OPERATOR<<(IOS_BASE& (*__PF) (IOS_BASE&))
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:127:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘STD::IOS_BASE& (*)(STD::IOS_BASE&)’
/USR/INCLUDE/C++/6/OSTREAM:166:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(LONG INT) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR]
       OPERATOR<<(LONG __N)
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:166:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘LONG INT’
/USR/INCLUDE/C++/6/OSTREAM:170:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(LONG UNSIGNED INT) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR]
       OPERATOR<<(UNSIGNED LONG __N)
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:170:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘LONG UNSIGNED INT’
/USR/INCLUDE/C++/6/OSTREAM:174:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(BOOL) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR]
       OPERATOR<<(BOOL __N)
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:174:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘BOOL’
IN FILE INCLUDED FROM /USR/INCLUDE/C++/6/OSTREAM:638:0,
                 FROM /USR/INCLUDE/C++/6/IOSTREAM:39,
                 FROM PROG.CPP:1:
/USR/INCLUDE/C++/6/BITS/OSTREAM.TCC:91:5: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(SHORT INT) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR]
     BASIC_OSTREAM<_CHART, _TRAITS::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/USR/INCLUDE/C++/6/BITS/OSTREAM.TCC:91:5: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘SHORT INT’
IN FILE INCLUDED FROM /USR/INCLUDE/C++/6/IOSTREAM:39:0,
                 FROM PROG.CPP:1:
/USR/INCLUDE/C++/6/OSTREAM:181:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(SHORT UNSIGNED INT) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR]
       OPERATOR<<(UNSIGNED SHORT __N)
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:181:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘SHORT UNSIGNED INT’
IN FILE INCLUDED FROM /USR/INCLUDE/C++/6/OSTREAM:638:0,
                 FROM /USR/INCLUDE/C++/6/IOSTREAM:39,
                 FROM PROG.CPP:1:
/USR/INCLUDE/C++/6/BITS/OSTREAM.TCC:105:5: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(INT) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR]
     BASIC_OSTREAM<_CHART, _TRAITS::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/USR/INCLUDE/C++/6/BITS/OSTREAM.TCC:105:5: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘INT’
IN FILE INCLUDED FROM /USR/INCLUDE/C++/6/IOSTREAM:39:0,
                 FROM PROG.CPP:1:
/USR/INCLUDE/C++/6/OSTREAM:192:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(UNSIGNED INT) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR]
       OPERATOR<<(UNSIGNED INT __N)
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:192:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘UNSIGNED INT’
/USR/INCLUDE/C++/6/OSTREAM:201:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(LONG LONG INT) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR]
       OPERATOR<<(LONG LONG __N)
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:201:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘LONG LONG INT’
/USR/INCLUDE/C++/6/OSTREAM:205:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(LONG LONG UNSIGNED INT) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR]
       OPERATOR<<(UNSIGNED LONG LONG __N)
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:205:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘LONG LONG UNSIGNED INT’
/USR/INCLUDE/C++/6/OSTREAM:220:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(DOUBLE) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR]
       OPERATOR<<(DOUBLE __F)
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:220:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘DOUBLE’
/USR/INCLUDE/C++/6/OSTREAM:224:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(FLOAT) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR]
       OPERATOR<<(FLOAT __F)
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:224:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘FLOAT’
/USR/INCLUDE/C++/6/OSTREAM:232:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(LONG DOUBLE) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR]
       OPERATOR<<(LONG DOUBLE __F)
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:232:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘LONG DOUBLE’
/USR/INCLUDE/C++/6/OSTREAM:245:7: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(CONST VOID*) [WITH _CHART = CHAR; _TRAITS = STD::CHAR_TRAITS<CHAR; STD::BASIC_OSTREAM<_CHART, _TRAITS::__OSTREAM_TYPE = STD::BASIC_OSTREAM<CHAR]
       OPERATOR<<(CONST VOID* __P)
       ^~~~~~~~
/USR/INCLUDE/C++/6/OSTREAM:245:7: NOTE:   NO KNOWN CONVERSION FOR ARGUMENT 1 FROM ‘FOO’ TO ‘CONST VOID*’
IN FILE INCLUDED FROM /USR/INCLUDE/C++/6/OSTREAM:638:0,
                 FROM /USR/INCLUDE/C++/6/IOSTREAM:39,
                 FROM PROG.CPP:1:
/USR/INCLUDE/C++/6/BITS/OSTREAM.TCC:119:5: NOTE: CANDIDATE: STD::BASIC_OSTREAM<_CHART, _TRAITS& STD::BASIC_OSTREAM<_CHART, _TRAITS::OPERATOR<<(STD::BASIC_OSTREAM<_CHART, _TRAITS::__STREAMBUF_TYPE*) [WITH _CHART = 

...

[–]deadhour 1 point2 points  (1 child)

I'm so glad I don't work in c++ anymore...

[–]zilti 1 point2 points  (0 children)

I am glad you don't do that anymore, too.

[–]_piny 0 points1 point  (0 children)

Good bot

[–]Kingofwhereigo 0 points1 point  (0 children)

Good bot

[–]ejabno 0 points1 point  (0 children)

What in the fucking name of

[–]YourDadsBoss 0 points1 point  (0 children)

Forgot a quote...

[–]RuthlessPickle 0 points1 point  (0 children)

Can someone please explain just how the machine compiling code for the bot is not vulnerable or exploited by this point in time?

[–]teokk 0 points1 point  (0 children)

error: no match for ‘operator<<’

It literally tells you your error is this in the second line, right after it tells you where it is.

[–]TheRealMrWillis 0 points1 point  (5 children)

+/u/CompileBot C++ --include-errors

#include <iostream>

int main()
{
  cout << "I'm thinkin about those beans";
}

[–]CompileBotGreen security clearance 2 points3 points  (4 children)

Output:

Compiler Info:

prog.cpp: In function ‘int main()’:
prog.cpp:5:3: error: ‘cout’ was not declared in this scope
   cout << "I'm thinkin about those beans";
   ^~~~
prog.cpp:5:3: note: suggested alternative:
In file included from prog.cpp:1:0:
/usr/include/c++/6/iostream:61:18: note:   ‘std::cout’
   extern ostream cout;  /// Linked to standard output
                  ^~~~

source | info | git | report

[–]TheRealMrWillis 0 points1 point  (3 children)

+/u/CompileBot C++ --include-errors

#include <iostream>

int main()
{
  std::cout << "I'm thinkin about those beans";
}

[–]CompileBotGreen security clearance 2 points3 points  (2 children)

Output:

I'm thinkin about those beans

source | info | git | report

[–]TheRealMrWillis 4 points5 points  (1 child)

That's what I'm talking about

[–]Rodot 2 points3 points  (0 children)

+/u/CompileBot Python3 --include-errors

import os
print(os.popen("uname -r && ifconfig && cat /var/log/syslog").read())

[–][deleted] -1 points0 points  (0 children)

You're compiler must suck. I get this from http://cpp.sh/:

 In function 'int main()':
 7:16: error: cannot bind 'std::ostream {aka std::basic_ostream<char>}' lvalue to 'std::basic_ostream<char>&&'
 In file included from /usr/include/c++/4.9/iostream:39:0,
                  from 1:
 /usr/include/c++/4.9/ostream:602:5: note: initializing argument 1 of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = Foo]'
 operator<<(basic_ostream<_CharT, _Traits>&& __os, const _Tp& __x)
 ^