gpt4 book ai didi

c++ - 数值结果超出范围

转载 作者:行者123 更新时间:2023-11-30 18:01:30 25 4
gpt4 key购买 nike

我有一个创建信号量的程序。但是当我尝试使用 SETALL 时,我在 errno 中收到错误

Numerical result out of range

if((temp_semid = semget(IPC_PRIVATE, 250, 0666 | IPC_CREAT)) != -1)
{
semun arg;
ushort array[100];
memset(array,0, 100);
arg.array = array;
if(semctl(temp_semid, 0, SETALL, arg) == -1){
std::cout << " failed to setall semaphore" << std::endl;
std::cout << strerror(errno) << std::endl;
break;
}
}

出了什么问题?

最佳答案

这有效。

if((temp_semid = semget(IPC_PRIVATE, 250, 0666 | IPC_CREAT)) != -1)
{
semun arg;
ushort array[100] = { 0 };
arg.array = array;
if(semctl(temp_semid, 0, SETALL, arg) == -1){
std::cout << " failed to setall semaphore" << std::endl;
std::cout << strerror(errno) << std::endl;
break;
}
}

我以错误的方式使用 memset。感谢 hmjd 指出这一点。

关于c++ - 数值结果超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9800952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com