目前,我正在尝试检查我的代码中的bind()语句是否失败。据我所知,解决这个问题的方法是检查这个条件:
if (bind(sock, (struct sockaddr *)&sock_addr, sizeof(sock_addr)) < 0)
{
G4cerr << "bind failed: " << strerror(errno) << " " << __FILE__ << ":" << __LINE__ << G4endl;
return(-1);
}
但是当我这样做时,我收到以下错误:
error: invalid operands to binary expression ('__bind<int &, sockaddr *, unsigned long>' and 'int')
我可以看到&#39;&lt;&#39;是一个二进制操作,它无法比较两种不同的数据类型,但无法理解bind()不返回整数值的原因。
我在这里缺少什么?
PS。这是我实验室中某人编写的GEANT4应用程序的一部分。