Once in a while, I come across an answer, often flagged as not an answer, that says something along the lines of:

After fiddling with my code for a bit, I found that changing the Foo() calls to Bar() calls solved the problem.

Can someone explain to me why Foo() didn't work to begin with?

These are usually self-answers, but occasionally someone might find a solution to someone else's problem and not understand why it works either. (Such answers could take the form of a code snippet rather than prose.)

If this answer consisted only of its first paragraph, it would be just like any other answer and never have been flagged as NAA to begin with. However, the second paragraph is essentially a question about the content of the answer. I can see flagging such an answer as NAA as others may post answers to the question addressing the question in the answer, turning the whole thing into a forum thread. On the other hand, I don't agree entirely with deleting the actual answer either.

It doesn't seem like I should convert it to an edit, especially if it's also been accepted by the asker, since as mentioned the first paragraph does actually answer the question (or offer a solution to the problem). At the same time, removing the second paragraph entirely could give the author the impression that it's not OK to inquire about the solutions you find to your programming problems.

What I would do if this had been my own answer to my own question, is to post the first paragraph as an answer, and ask for clarification as a comment (or a separate question entirely). I can't do this with other people's posts, though, because mods can't convert answers to comments on themselves since it means deleting the answers in the first place.

Alternatively, if I feel that enough people could benefit from it as a separate question, I can find a way to express it generally, and go ahead and post a brand new question, linking to the answer for context if necessary.

But how should we deal with the existing answers, as moderators and as community members?

  • no matter, self-answer or not one can't go wrong applying Exit strategies for “chameleon questions” when question goes like that: "I call them "chameleon questions" because they change every time you submit or edit an answer..."
    – gnat
    May 17, 2012 at 12:12

3 Answers 3


If the answer does in fact solve the problem as stated in the original post, don't remove it. The closing question can be edited, something like this:


After fiddling with my code for a bit, I found that changing the Foo() calls to Bar() calls solved the problem.

Can someone explain to me why Foo() didn't work to begin with?


I'm not sure why this worked, but after fiddling with my code for a bit, I found that changing the Foo() calls to Bar() calls solved the problem.

Then, post a comment to the effect of, "If you have a new question, please use the Ask Question link. Don't post questions in answers."

Mark the flag either way, I personally think it's not helpful if the post does in fact contain an answer.

  • 4
    If it's the flag that prompted me to perform the edit, I'll probably mark it as helpful. Dec 23, 2011 at 10:13
  • 1
    Up to you, probably a good idea to mark it "helpful". I only say it isn't because "Not an answer" should be reserved for posts that don't answer the question, not answers that happen to contain an additional question. Most people who would think to flag the post should also have the capacity to edit the post and/or explain to OP why not to tack on additional questions.
    – user159834
    Dec 23, 2011 at 10:15
  • Ah yes, that's true. Dec 23, 2011 at 10:16

Just putting this out there:

  1. Leave the answer portion of the answer intact
  2. Create a new question with the question portion of the answer, linking to the original question, perhaps explaining this has been done on behalf of the OP
  3. Add a comment on the answer with a link to the new question

What do people think about this as an option?

  • I find this a particularly complex solution.
    – Kris
    Dec 23, 2011 at 10:02
  • 3
    Closing with another question? Flagged as "not an answer".
    – user159834
    Dec 23, 2011 at 10:02
  • 1
    @Kris: I wouldn't mind doing this for my own answers (see the "ninja" edit I made). Dec 23, 2011 at 10:03
  • Seriously though, posting new questions on behalf of other people is not gonna fly.
    – user159834
    Dec 23, 2011 at 10:03
  • @Madmartigan: Agree, unless I can express it generally enough that it doesn't matter who asks it. (More likely than not, I can't.) Dec 23, 2011 at 10:04
  • @Madmartigan - Closing? Where did I suggest closing anything? Or flagging?
    – Oded
    Dec 23, 2011 at 10:11
  • I meant in your "closing" statement, i.e. your last paragraph. It was just a joke :)
    – user159834
    Dec 23, 2011 at 10:11
  • @Madmartigan - fair enough... I was wondering if I should do that ;)
    – Oded
    Dec 23, 2011 at 10:25

The answer used as example seems more an edit for the question, than an answer.
To be an answer, it should explain why replacing the function call with another one solved the problem; as it is, it doesn't help future readers, who could understand that Bar() should always be called instead of Foo(). As it, the answer seems more a "try and see what happens" solution.

I would leave the part about replacing the function call, if nobody else can give an explanation of why replacing the function call worked, or can give another solution for the problem reported by the OP.
Maybe the answer can be split between an answer, and a comment for that answer (the part about wondering why it worked).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .