Safe Callback Invocation

#include <iostream>
using namespace std;

// Callback function that prints sensor data
void sensorCallback(int v) {
    cout << "DATA " << v;
}

int main() {
    int flag, value;
    cin >> flag >> value;

    // הגדרת מצביע לפונקציה שמקבלת int ומחזירה void
    void (*callback)(int) = nullptr;

    if (flag == 1) {
        // השמת הכתובת של הפונקציה לתוך המצביע
        callback = sensorCallback;
    }

    // בדיקת בטיחות: האם המצביע מחזיק כתובת חוקית?
    if (callback != nullptr) {
        // קריאה לפונקציה דרך המצביע (Invocation)
        callback(value);
    } else {
        // המקרה בו לא נרשם Callback (flag == 0)
        cout << "NO CALLBACK";
    }

    return 0;
}

Solving Approach

 

 

 

 

 

Upvote
Downvote
Loading...

Input

0 10

Expected Output

NO CALLBACK