什么是错的,我得到错误的下面的代码的程序

问题描述:

什么是错的,我得到错误的下面的代码的程序

#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; 
} 

ERROR: child_proces.cpp: In function âint main()â: child_proces.cpp:11: error: expected ;' 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 ;' before â{â token

不能定义构造函数和析构函数或任何其他方法的另一个函数内此事(包括main)。

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

为了得到它来编译,你可以尝试:

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

int main() 
{ 
//... 
} 

您需要定义main功能之外的方法。

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

int main() {} 

而且,你为什么声明在首位的构造函数和析构函数,如果你不打算在他们做什么?

#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; 
}