# How should we deal with an answer that answers the question, then follows up with another question?

Once in a while, I see a self-answer, flagged as not an answer, that says something along the lines of:

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

Can someone tell me why Foo() didn't work in my code? If someone could explain this to me, I'd be most grateful.

If this answer were only its first paragraph, it would probably have been left alone. However, the second paragraph is essentially a question about the answer, and being a question naturally causes the post to be flagged as not an answer. I don't disagree with the flag of course, as others may post answers to the question addressing the question in the answer, turning the whole thing into a forum topic. 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 part of it does answer the question (or offer a solution to the problem). At the same time, removing the second paragraph entirely could give the asker 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. I can't do this for 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 '12 at 12:12

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:

### Before:

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

Can someone tell me why Foo() didn't work in my code? If someone could explain this to me, I'd be most grateful.

### After:

I'm not sure why this worked, but after fiddling with my code for a bit, I found that changing all of my 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.

-
If it's the flag that prompted me to perform the edit, I'll probably mark it as helpful. –  BoltClock's a Unicorn Dec 23 '11 at 10:13
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. –  Wesley Murch Dec 23 '11 at 10:15
Ah yes, that's true. –  BoltClock's a Unicorn Dec 23 '11 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

-
I find this a particularly complex solution. –  Kris Dec 23 '11 at 10:02
Closing with another question? Flagged as "not an answer". –  Wesley Murch Dec 23 '11 at 10:02
@Kris: I wouldn't mind doing this for my own answers (see the "ninja" edit I made). –  BoltClock's a Unicorn Dec 23 '11 at 10:03
Seriously though, posting new questions on behalf of other people is not gonna fly. –  Wesley Murch Dec 23 '11 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.) –  BoltClock's a Unicorn Dec 23 '11 at 10:04
@Madmartigan - Closing? Where did I suggest closing anything? Or flagging? –  Oded Dec 23 '11 at 10:11
I meant in your "closing" statement, i.e. your last paragraph. It was just a joke :) –  Wesley Murch Dec 23 '11 at 10:11
@Madmartigan - fair enough... I was wondering if I should do that ;) –  Oded Dec 23 '11 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).

-