void helper(int *fd, int *total) {
int i;
for (i=0; i < (*total); i++) {
close(fd[i][0]);
}
}下面是我的伪代码,它派生了多个子进程和管道,在所有子进程完成读取后,它们调用helper函数来关闭通道的读取端。
int main() {
.
int fd[4][2]
.
.
.
if (fork()==0) {
helper(&(fd[4][2]), &i)我收到一个错误,指出:
error: subscript value is neither an array nor pointer nor vector编辑:typo "for()“改为"fork()”
发布于 2014-03-15 16:36:39
int *fd是一个维数组的指针,所以您不能像这样引用它的项作为二维数组:fd[i][0]。
同样,对于数组访问,fd[4][2]是错误的,因为[4][2]超出了界限。
https://stackoverflow.com/questions/22421214
复制相似问题