Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 函数以C+;格式打印返回地址值的2d数组+;_C++ - Fatal编程技术网

C++ 函数以C+;格式打印返回地址值的2d数组+;

C++ 函数以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

我一直在尝试制作一个函数,它可以打印一个数组,并将数组传递给它。但是,控制台输出以下值,而不是我指定的值

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 >
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;icout您应该在循环中的索引处输出值

cout << matrix1[i][j] << " ";

cout您正在打印矩阵1

cout << matrix1 << " ";

cout为什么一个double类型的对象被用作索引?你的意思是,当你不使用
i
j
时,你不知道你希望它如何打印值。我之前尝试过这个,但它产生了一个错误。大家好。问题现在已经解决了。这主要是因为我在使用i和j时将其标记为double应该是整数..我在前面尝试过,它给出了一个错误。“下标不是整数类型”@43zombiegit正确您不能使用
double
索引到数组中,它应该是一个(最好是无符号的)整数
cout << matrix1 << " ";
cout << matrix1[ i ][ j ] << " ";