Today I posted a question on Stack Overflow about a C++ issue I found a bit confusing. Since I am a complete beginner in C++, all I could do was to write a short summary and ask for advice.

The question attracted a couple of insightful answers and I was quite happy with those. To my complete surprise, an hour later the question had received 3 downvotes without any comment or suggestion.

Since I always put effort into making my posts decently formatted and thorough, it kind of struck a nerve.

I was puzzled as to why. I am not a native English speaker so nuances of language usually elude me. Is it the wording? Tone? Formatting? Too RTFM?

To quote a comment from visitor:

@Martinho: I missed that OP's passing Buffer the first time. Can't imagine someone managing C strings without any idea how the C string functions work...

Did the question get downvoted because it displayed ignorance? How could I have asked it differently to avoid the downvotes?


I just had.. um.. a strange exchange with one of the members from the C++ community. That member posted an answer here attempting to explain the background. However, after realizing the contradiction in hers/his arguments a possibility of an extended chat session, the delete link got clicked.

I am not going to reveal the identity but nevertheless will share the discussion. I feel it sheds some light on the issue. Note that the person was apparently not one of the voters.

The deleted answer

I think the accepted answer to the original question also answers this question:

There are lots of problems with your code.

You asked why one piece of code (with several errors) didn't work, when some other code (also with several errors) seemed to work better. In reality the difference was just random, and neither of them really works.

It took a lot of effort for someone to put together an answer, and I didn't have the time (being at work), so would just have downvoted if there hadn't been enough downvotes already.

Leaving a comment that there were several errors in the functions didn't seem to be constructive either. Guess that those who did downvote might have felt the same.

The comment trail

Okay. Are You saying that the C++ community downvoted it because they had either no time or no motivation to answer it properly? – Saul 19 mins ago

No, I'm saying it might have been downvoted because it wasn't seen as a good question. The lack of comments can be because of limited time. It was in my case. – XXX 15 mins ago

Note that if you had asked the question right now, I might have answered it. Six hours ago I had to do some payed work. – XXX 8 mins ago

Uh.. why would one want to downvote a question when busy but be willing to answer it later? To communicate that "your question is unwelcome at this time, I am doing paid work, come back later"? In such a scenario there is nothing I can do to make it appear as a good question. - Saul 1 mins ago

  • @Cody Gray: All right. I'll rephrase the question. – user151803 Jul 29 '11 at 12:56
  • Much better, I'll remember to +1 this tomorrow when I have more votes. :-) – Cody Gray Jul 29 '11 at 13:04
  • 3
    he comes here to try and improve and you still downvote him O-o – sealz Jul 29 '11 at 13:07
  • 1
    Yes, downvotes mean something different on Meta. That's a whole other can of worms... – Cody Gray Jul 29 '11 at 13:08
  • "I am a complete beginner in C+" there are those that say that the C++ SO community aren't generally as friendly as the PHP SO community – AakashM Jul 29 '11 at 13:26
  • 17
    c++ developers are angry and cranky from having to do pointer arithmetic all the damned time. They downvoted you because they wanted you off their lawn, you young whippersnapper. – user1228 Jul 29 '11 at 13:31
  • C++ was developed to have less competitors. You are a competitor therefore: point-- – GUI Junkie Jul 29 '11 at 17:42
  • I can report from a reliable source that "XXX" deleted his answer to avoid an extended chat session. – Bo Persson Jul 29 '11 at 17:54
  • @Bo Persson: Why that question was not seen as a good one is still a mystery to me. Nor do I understand the issue with technical errors. Isn't the whole purpose of SO to have them pointed out for a reward? – user151803 Jul 29 '11 at 18:01
  • 3
    I see you've gotten plenty of upvotes on the original question now since asking this question (+9/-3). That's the opposite of what usually happens when you bring something like this up on Meta. A constructive tone really does work. – Cody Gray Jul 29 '11 at 21:49
  • 1
    @BoPersson: I suspect the real problem was that the "question" seemed to amount to a couple of blocks of code, and asked "what is wrong with my code?". It's nothing new for that to get downvoted. A lot of veteran users are tired of those questions and don't find them particularly interesting. Not to say that I'm agreeing with the downvotes (it was a no-vote question for me personally), but I do understand the sentiment, and I suspect that's what happened here. It's not merely ignorance that caused the downvotes, but it is a collusion of ignorance-related factors. :-) – Cody Gray Jul 29 '11 at 21:53
  • @Cody - Like I said in my now deleted answer, I saw the question earlier today while at work. I only gave it a glance, but saw about half a dozen errors, including the subject line, using uninitialized buffers, and drawing the wrong conclusions from that. Had it not already been downvoted, I just might have done that. Now I just left it and answered questions from my project lead instead, because that's how I make a living. :-) Now I an only congratulate Saul on his good marketing skill, to get 9 upvotes for his question. I didn't even vote! – Bo Persson Jul 29 '11 at 22:12
  • @Bo Persson: Yes.. it's those marketroids again, having technical errors in their questions and drawing wrong conclusions - they should be downvoted when there is no time to address their issues properly. Look Bo, I do understand that You didn't even vote. All I am saying is that zapping a question because of mistaken technical assumptions and not even bothering to comment is a bit rude. – user151803 Jul 30 '11 at 8:48

This question has gotten a lot of support which is quite an accomplishment as a typical question complaining about downvotes doesn't usually get a very warm reception. I think the reason you succeeded was because you didn't complain but simply asked how you can improve and because it is clear that you did put effort into your question.

Nevertheless, the answer to your humble question is roughly the same as the answer to complaints about downvotes without comments: don't worry too much about downvotes. Of course they sting a little but unless you only get downvotes, it just means the community is divided about the question.

One phenomenon that happens is "gut reaction votes" when a question is first posted. Sometimes a "what am I doing wrong" question will get downvoted with a scolding "too easy, learn to program" attitude or for other flaws. But then someone posts a really good answer and suddenly the question looks a lot better. It starts to get mostly upvotes. The question turned into a teachable moment.

Your first goal in asking a question is to get answers. Your second goal is to get a non-negative question score. Just accept that if you ask an entry-level question in a competitive arena, the risk of a few downvotes is higher. Do your research before you ask the question and ask the best question that you can. Then, if you enter the lion's den and still escape unscathed, don't sweat a few downvotes in the process.


I always put effort into making my posts decently formatted and thorough

It's quite likely that in this case you were just too thorough.

  • Eg imagine someone posting say 100-lines code example with say 20 errors in it. Thorough, nicely formatted etc. 1st reader spends a minute to check first 5 lines, points to the first error, upvotes - just because it feels good isn't it. 2nd reader spends 2 minutes to check next 10 lines and prior answer, points to second error, upvotes - feels good isn't it. 3rd reader spends half an hour to analyze whole the code and finds out it's actually FUBAR => downwote.

If that's the case, consider focusing your effort on being concise. Study SSCCE principles. Practice. Review other questions and answers and learn what makes them look good / bad to you. Self-review your own questions. Edit when you see a way to condense.

Oh and be prepared that it's take a lot more effort than to just be thorough and well-formatted.

Sorry if my answer is lengthy - I didn't have enough time to make it short.


This is just a guess :
You used 5 tags for your question, but you are missing one important tag : or some similar tag, because your example contains only one c++ keyword return. Literally everything in it are windows extensions.

  • 4
    That. And it is a C question, enough to raise the ire of C++ users. – Uphill Luge Jul 29 '11 at 18:17
  • I can not tell if it is a c or c++ question. As I said, I recognized only return. – BЈовић Jul 29 '11 at 20:07
  • int is a C++ keyword. And (nitpick) it probably is a C++ question, since it uses the keyword new, rather than malloc. That said, it's a pointer question, specifically about the Windows API TCHAR data type. And that requires knowledge of the Windows header files at least as much as it does about pointers. – Cody Gray Jul 29 '11 at 21:51

You must log in to answer this question.