The Conservative leader is negotiating with EU leaders to try to change Britain's terms of membership with the European Union before holding an in-out referendum by 2017.
Speaking at the G7 summit in Germany yesterday, Cameron said his position was to "renegotiate, get a deal that's in Britain's interest and then recommend Britain stays in it".
He added: "If you want to be part of the government you have to take the view that we are engaged in an exercise of renegotiation to have a referendum and that will lead to a successful outcome."
"It's pretty plain -- there's not much room to interpret -- that anybody who is going to vote against and campaign against continued membership of the European Union would have to leave government," former Europe minister David Davis told BBC radio.
Davis said this was "something of a change" from previous comments on the subject and said it was "rather unwise", predicting that some ministers would likely resign.
Its chairman in parliament, lawmaker Steve Baker, said today: "If we don't get a sovereign parliament, I would be quite surprised if one or two (ministers) don't resign."
Cameron's spokeswoman tried to calm the row, however, insisting that he had yet to decide whether ministers could campaign on opposing sides in the referendum.
"The prime minister was clearly talking yesterday about the position of collective responsibility during the renegotiation," not the referendum campaign, she said.
Since his re-election last month Cameron has pressed ahead on securing reforms, undertaking a whirlwind tour of European capitals to seek support for changes such as making it harder for EU migrants to claim benefits in Britain.
