#include <iostream> using namespace std; /*
模板的作用:
1. 不用声明类型, 传什么进来就是什么类型, 返回也是什么类型
2. 方法封装起来, 可以当公共类使用, 方便 */ template <class T> void mark2dArray(T ** &x, int numberofRows, int numberofColumns){
x = new T * [numberofRows];
for (int i = ; i < numberofRows; i++) {
x[i] = new T [numberofColumns];
}
} // template 只针对下面函数、对象有效, 所以这里要在声明一次 template <class T>
void delete2dArray(T ** &x, int numberofRows){
for (int i = ; i < numberofRows; i++) {
delete [] x[i];
}
delete [] x;
x = NULL;
} int main(int argc, char const *argv []){ int rowsNum = ;
int columnsNum = ; int ** a;
mark2dArray(a, rowsNum, columnsNum);
a[][] = ;
printf("%d\n", a[][]);
delete2dArray(a, rowsNum); return ;
}