История изменений
Исправление xaizek, (текущая версия) :
У меня этот сниппет вообще не компилируется
Я с -fpermissive
делал (для более быстрого сокращения), там на это не ругается (хотя и ошибку немного в другом месте показывает). Достаточно пустого тела того конструктора (тогда ошибка в конструкторе, как в первом посте):
template<typename _Tp> _Tp declval();
template<typename _Signature> class function;
template<typename _Res, typename... _ArgTypes>
struct function<_Res(_ArgTypes...)> {
template<typename _Functor,
typename = decltype(declval<_Functor&>()(declval<_ArgTypes>()...) )
> function(_Functor) {}
};
class EveCentralExternalOrderImporter {
virtual void fetchExternalOrders();
void processResult(char errorText);
int aggregateAndFetchMarketOrders(function<void (char error)> callback);
};
void EveCentralExternalOrderImporter::fetchExternalOrders() {
aggregateAndFetchMarketOrders(
[=](auto errorText) {
processResult(errorText);
});
}
Исходная версия xaizek, :
У меня этот сниппет вообще не компилируется
Я с -fpermissive
делал, там на это не ругается (хотя и ошибку немного в другом месте показывает). Достаточно пустого тела того конструктора (тогда ошибка в конструкторе, как в первом посте):
template<typename _Tp> _Tp declval();
template<typename _Signature> class function;
template<typename _Res, typename... _ArgTypes>
struct function<_Res(_ArgTypes...)> {
template<typename _Functor,
typename = decltype(declval<_Functor&>()(declval<_ArgTypes>()...) )
> function(_Functor) {}
};
class EveCentralExternalOrderImporter {
virtual void fetchExternalOrders();
void processResult(char errorText);
int aggregateAndFetchMarketOrders(function<void (char error)> callback);
};
void EveCentralExternalOrderImporter::fetchExternalOrders() {
aggregateAndFetchMarketOrders(
[=](auto errorText) {
processResult(errorText);
});
}