8 years, 7 months ago.

Callback is not a template "class FunctionPointerArg<R,void> : public Callback<R()>{"

  1. ifndef MBED_FUNCTIONPOINTER_H
  2. define MBED_FUNCTIONPOINTER_H
  1. include "platform/Callback.h"
  2. include "platform/toolchain.h"
  3. include <string.h>
  4. include <stdint.h>

namespace mbed { template <typename R, typename A1> class FunctionPointerArg1 : public Callback<R(A1)> { public: MBED_DEPRECATED_SINCE("mbed-os-5.1", "FunctionPointerArg1<R, A> has been replaced by Callback<R(A)>") FunctionPointerArg1(R (*function)(A1) = 0) : Callback<R(A1)>(function) {}

template<typename T> MBED_DEPRECATED_SINCE("mbed-os-5.1", "FunctionPointerArg1<R, A> has been replaced by Callback<R(A)>") FunctionPointerArg1(T *object, R (T::*member)(A1)) : Callback<R(A1)>(object, member) {}

R (*get_function())(A1) { return *reinterpret_cast<R ()(A1)>(this); }

R call(A1 a1) const { if (!Callback<R(A1)>::operator bool()) { return (R)0; }

return Callback<R(A1)>::call(a1); }

R operator()(A1 a1) const { return Callback<R(A1)>::call(a1); } };

template <typename R> class FunctionPointerArg1<R, void> : public Callback<R()> { public: MBED_DEPRECATED_SINCE("mbed-os-5.1", "FunctionPointer has been replaced by Callback<void()>") FunctionPointerArg1(R (*function)() = 0) : Callback<R()>(function) {}

template<typename T> MBED_DEPRECATED_SINCE("mbed-os-5.1", "FunctionPointer has been replaced by Callback<void()>") FunctionPointerArg1(T *object, R (T::*member)()) : Callback<R()>(object, member) {}

R (*get_function())() { return *reinterpret_cast<R ()()>(this); }

R call() const { if (!Callback<R()>::operator bool()) { return (R)0; }

return Callback<R()>::call(); }

R operator()() const { return Callback<R()>::call(); } };

typedef FunctionPointerArg1<void, void> FunctionPointer;

} namespace mbed

  1. endif

What's the matter?

Yout answer are thanks.

Be the first to answer this question.