该计划有什么问题

时间:2012-03-19 09:56:50

标签: c++

我收到以下代码的错误:

#include "parent_child.h"
#include "child_proces.h"

int main() {

    childprocess::childprocess(){}
    childprocess::~childprocess(){}
     /* parentchild *cp = NULL;
        act.sa_sigaction = cp->SignalHandlerCallback;
        act.sa_flags = SA_SIGINFO;
        sigaction(SIGKILL, &act, NULL);
    }*/
    printf("Child process\n");

    return 0;
}
  

错误:child_proces.cpp:在函数中âintmain()â:   child_proces.cpp:11:错误:期望;' before â{â token child_proces.cpp:12: error: no matching function for call to âchildprocess::~childprocess()â child_proces.h:9: note: candidates are: childprocess::~childprocess() child_proces.cpp:12: error: expected;'在token令牌之前

3 个答案:

答案 0 :(得分:4)

您无法在另一个函数(包括main)中定义构造函数或析构函数或任何其他方法。

将定义移到main之外,最好移动到与"child_proces.h"对应的实现文件中,如"child_proces.cpp"

要进行编译,您可以尝试:

childprocess::childprocess(){}
childprocess::~childprocess(){}

int main()
{
//...
}

答案 1 :(得分:0)

您需要在main函数之外定义方法。

childprocess::childprocess(){}
childprocess::~childprocess(){}

int main() {}

另外,如果你不打算在其中做任何事情,为什么要首先声明构造函数和析构函数?

答案 2 :(得分:0)

#include "parent_child.h"
#include "child_proces.h"
childprocess::childprocess(){}
    childprocess::~childprocess(){}
int main() {


     /* parentchild *cp = NULL;
        act.sa_sigaction = cp->SignalHandlerCallback;
        act.sa_flags = SA_SIGINFO;
        sigaction(SIGKILL, &act, NULL);
    }*/
    printf("Child process\n");

    return 0;
}