在C++中作为参数发送的零数组

Chr*_*_45 1 c++ arrays

如何使作为参数发送的数组中的所有元素= 0?

int myArrayFunction(int p_myArray[]) {
p_myArray[] = {0};//compiler error syntax error: ']'
.
.
}
Run Code Online (Sandbox Code Playgroud)

ken*_*ytm 9

不,你不能.没有足够的信息.你也需要传递数组的长度.

int myArrayFunction(int p_myArray[], int arrayLength) {
// --------------------------------------^ !!!
Run Code Online (Sandbox Code Playgroud)

然后你可以使用memsetstd::fill用零填充数组.(= {0}仅适用于初始化.)

    std::fill(p_myArray, p_myArray+arrayLength, 0);
Run Code Online (Sandbox Code Playgroud)

或者,切换到使用a std::vector,然后您不需要跟踪长度.

int myArrayFunction(std::vector<int>& p_myArray) {
    std::fill(p_myArray.begin(), p_myArray.end(), 0);
Run Code Online (Sandbox Code Playgroud)