/ / 2 डी Arrays के साथ संदर्भ द्वारा कॉल करें - सी ++

2 डी Arrays के साथ संदर्भ द्वारा कॉल करें - सी ++

मैं काम करने के लिए यह सरल सी ++ प्रोग्राम प्राप्त करने की कोशिश कर रहा हूं लेकिन मैं त्रुटि से त्रुटि में बाउंसिंग करता हूं।
यहां कोड है:

#include <iostream>
using namespace std;

const int row = 3;
const int col = 3;
int array[row][col];

void print(int array[row][col]){
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
cout << array[i][j];
}
}
}

void setValues(int (&array), int value){
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
array[i][j] = value; //invalid types "int[int]" for array subscript
}
}
}

int main() {
setValues(array, 30); //Expected primary-expression before "," token + Invalid Arguments "Candidates are: void setValue(int &, int)
print(array); //expected primary=expression before ")" token
return 0;
}

मैं एक समारोह के साथ 2 डी सरणी में मानों को बदलना चाहता हूं।

उत्तर:

जवाब के लिए 0 № 1
typedef int array[row][col];

आप यहां क्या कर रहे हैं इसके लिए उपनाम बना रहा है int वह कहा जाता है array[row][col]। बस हटा दें typedef और यह ठीक काम करेगा।

संपादित करें: दूसरी त्रुटि के बारे में भूल गए

void setValues(int (&array)[row][col], int value)

यह इस तरह काम करता है

void setValues(int array[row][col], int value)