Как использовать макрос в качестве указателя на функцию?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать макрос в качестве указателя на функцию?

Сообщение Anonymous »

Как использовать макросы в качестве указателей на функции? Я понятия не имею, как это решить. Я создал эскиз (не работает, полный синтаксических ошибок), чтобы показать, чего я пытаюсь достичь. Пожалуйста, помогите!

#define D0_OUT(x) (x/1024*100) //I want to use this for Pin0 calculation
#define D1_OUT(x) (x*1024) //I want to use this for Pin1 calculation

struct Pin {
CalcMethod *calcMethod; //int methodName(int x) { return MACRO(x); }

Pin(CalcMethod *calcMethodParam) {
calcMethod = calcMethodParam;
}

int calc(int x) {
return calcMethod(x);
}
};

#define PIN_COUNT 2
Pin *pins[PIN_COUNT];

void start() {
pins[0] = new Pin(D0_OUT); //use the D0_OUT macro to calculate
pins[1] = new Pin(D1_OUT); //use the D1_OUT macro to calculate
int pin0CalcResult=pins[0]->calc(5); // =5/1024*100
int pin1CalcResult=pins[1]->calc(6); // =6*1024
}


Подробнее здесь: https://stackoverflow.com/questions/479 ... on-pointer
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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