Зачем использовать mock_non_const_method_ext для оператора float () в Boost Turtle?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Зачем использовать mock_non_const_method_ext для оператора float () в Boost Turtle?

Сообщение Anonymous »

Я использую Boost 1.46 с Turtle Lib 1.2.4 и компилятором от Visual Studio Express 2013. У меня есть следующее класс, чтобы вытереть: < /p>

struct IPredicate
{
virtual ~IPredicate() {}

virtual bool operator()(float value) = 0;
};
< /code>

Когда I Mock Operator () с MOCK_NON_CONST_METHOD: < /p>

MOCK_BASE_CLASS(MockPredicate, IPredicate)
{
MOCK_NON_CONST_METHOD(operator(), 1, bool(float), id)
};
< /code>

Я получил кучу ошибок компилятора, например, Синтаксическая ошибка «оператор» и так далее. Но когда я издевается над этим с помощью mock_non_const_method_ext: < /p>

MOCK_BASE_CLASS(MockPredicate, IPredicate)
{
MOCK_NON_CONST_METHOD_EXT(operator(), 1, bool(float), id)
};
< /code>

Все в порядке и работает отлично! Согласно http://turtle.sourceforge.net/turtle/reference.html Mocks с суффиксом EXT для «Компиляторы без поддержки варидовых макросов», но тот, который я использую, имеет поддержку (проверьте его с этими примерами: http://// /msdn.microsoft.com/en-us/library/ms177415.aspx). Остальная часть документации не совсем ясна в этом случае. Почему у меня ошибки, когда я не использую максимальную версию EXT?

Подробнее здесь: https://stackoverflow.com/questions/214 ... ost-turtle
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»