c ++ fill调用正在创建错误
c++ fill call is creating an error
我是 c++ 的新手,每次调用 fill 时我的程序似乎都停止工作。
void go()
{
int ints[5];
cout<<"here";
fill(ints,ints+sizeof(ints),0);
cout<<"here2";
}
奇怪的是,它同时打印 here1 和 here2,然后失败了。如果我注释掉 fill 调用,错误将不再发生。我确定这只是我做的不正确,因为我是新手,但我们将不胜感激任何帮助。
sizeof
returns 给定类型的大小 char
的数量,而不是数组中元素的数量(即你的单位有误)。所以,ints+sizeof(ints)
是不正确的,应该是ints + 5
.
我是 c++ 的新手,每次调用 fill 时我的程序似乎都停止工作。
void go()
{
int ints[5];
cout<<"here";
fill(ints,ints+sizeof(ints),0);
cout<<"here2";
}
奇怪的是,它同时打印 here1 和 here2,然后失败了。如果我注释掉 fill 调用,错误将不再发生。我确定这只是我做的不正确,因为我是新手,但我们将不胜感激任何帮助。
sizeof
returns 给定类型的大小 char
的数量,而不是数组中元素的数量(即你的单位有误)。所以,ints+sizeof(ints)
是不正确的,应该是ints + 5
.