系统是:Linux/CentOS 6.4
对于未在范围内声明的函数,我不断收到错误消息。在另一个函数中调用一个函数是不合法的吗?我读了一篇关于函数的文章,以为是因为我需要在调用它们时将函数声明为 void,但我收到了新的错误。不确定我是否需要将它们声明为全局或其他。
client.cpp:32:错误:未在此范围内声明“takef”
client.cpp:33:错误:未在此范围内声明“putf”
client.cpp:在函数“void takef(int&)”中:
client.cpp:44:错误:未在此范围内声明“testa”
client.cpp:在函数'void putf(int&)'中:
client.cpp:70:错误:未在此范围内声明“测试”
我正在尝试实现的代码类型示例
sem_t mutex;
sem_t S;
char buffer[1024];
void error(const char *msg)
{
perror(msg);
exit(0);
}
/*void signal_callback_handler()
{
close(sockfd);
}*/
void father(int &sockfd)
{
while(1)
{
srand(time(NULL));
int ms= rand() % 2000 + 5000
send(sockfd, DATA, strlen(DATA), 0);
usleep(1000*ms);
takef(sockfd);
putf(sockfd);
}
}
void takef(int &sockfd)
{
*
*
* *Other code*
*
*
*
testa(sockfd);
* *Other code*
*
*
*
}
void testa(int &sockfd)
{
*
*
*
* *Other code*
*
*
*
}
void putf(&sockfd)
{
*
*
*
* *Other code*
*
*
*
test();
test();
sem_post(&mutex);
}
int main(int argc, char *argv[])
{
*
*
*
* *Other code*
*
*
*
father(sockfd);
return 0;
}