相关疑难解决方法(0)

C++从函数定义为main的类中的函数指针向量中调用函数

好吧,我的主要是:

void somefunction();
int main()
{
    //bla bla bla
    SomeClass myclass = SomeClass();
    void(*pointerfunc)() = somefunction;
    myclass.addThingy(pointerfunc);

    //then later i do
    myclass.actionWithDiffrentOutcomes();
}

void somefunction()
{
    //some code
}
Run Code Online (Sandbox Code Playgroud)

在课堂上:

class SomeClass()
{
    public:
        void addThingy(void (*function)());
        void actionWithDiffrentOutcomes();
    private:
        std::vector<void (**)()> vectoroffunctions;
}
SomeClass::addThingy(void (*function)())
{
    vectoroffunctions.push_back(&function);
}
SomeClass::actionWithDiffrentOutcomes()
{
    (*vectoroffunctions[0])();;
}
Run Code Online (Sandbox Code Playgroud)

我对指针有点新意,但我阅读了我的c ++书籍,谷歌搜索,分机.这似乎是正确的,编译,运行,但当我调用"actionWithDiffrentOutcomes()"时,我得到访问冲突.我不知道该怎么做.这似乎是正确的,但事情显然是错误的.那么当定义在另一个类中时,如何从类中调用函数呢?

我这样做是因为我无法将每个选项硬编码到switch语句中.

c++ pointers class function vector

11
推荐指数
2
解决办法
3万
查看次数

标签 统计

c++ ×1

class ×1

function ×1

pointers ×1

vector ×1