C++ 函数以C+;格式打印返回地址值的2d数组+;
我一直在尝试制作一个函数,它可以打印一个数组,并将数组传递给它。但是,控制台输出以下值,而不是我指定的值 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91CC++ 函数以C+;格式打印返回地址值的2d数组+;,c++,C++,我一直在尝试制作一个函数,它可以打印一个数组,并将数组传递给它。但是,控制台输出以下值,而不是我指定的值 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91C 00B4F91C #include <iostream> using namespace std; template< typename T, size_t N, size_t M > v
#include <iostream>
using namespace std;
template< typename T, size_t N, size_t M >
void printm(T (&matrix1)[N][M] ) {
for (double i = 0; i < N; i++) {
for (double j = 0; j < M; j++) {
cout << matrix1 << " ";
}
}
}
int main() {
double M[3][3] = { {0.36, 0.48, -0.8} , {-0.8, 0.6, 0.0} , {0.48, 0.64, 0.6} };
printm(M);
}
#包括
使用名称空间std;
模板
无效打印M(T(&matrix1)[N][M]){
for(双i=0;i cout您应该在循环中的索引处输出值
cout << matrix1[i][j] << " ";
cout您正在打印矩阵1
cout << matrix1 << " ";
cout为什么一个double类型的对象被用作索引?你的意思是,当你不使用i
或j
时,你不知道你希望它如何打印值。我之前尝试过这个,但它产生了一个错误。大家好。问题现在已经解决了。这主要是因为我在使用i和j时将其标记为double应该是整数..我在前面尝试过,它给出了一个错误。“下标不是整数类型”@43zombiegit正确您不能使用double
索引到数组中,它应该是一个(最好是无符号的)整数
cout << matrix1 << " ";
cout << matrix1[ i ][ j ] << " ";