c++ - 用于打印数组的 toString 不工作 C++

标签 c++ arrays size tostring

<分区>

我有一个整数数组。此数组的大小在 maintoString 方法中不同。

void toString(int arr[]){
    int size = sizeof(arr)/sizeof(arr[0]);
    cout<<"Size in toString  "<<size<<endl;
    cout<<"{";
    for(int i=0; i<size; i++){
        cout<<arr[i]<<", ";
    }
    cout<<"}"<<endl;
}

int main(){
    int input_arr[] = {1, 2, 3, 4};
    int size_in_main = sizeof(input_arr)/sizeof(input_arr[0]);
    cout<<"Size in main      "<<size_in_main<<endl;
    toString(input_arr);
    return 0;
}

输出:

Size in main      4
Size in toString  2
{1, 2, }

为什么打印的数组大小不同?

最佳答案

作为参数传递的指针没有大小信息。 您必须添加大小作为参数。

关于c++ - 用于打印数组的 toString 不工作 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46997270/

相关文章:

c++ - 如何读取子进程的返回码

javascript - 完整日历在空单元格中添加 anchor

c - 打印列数和行数为奇数的数组的值

Android Textview 内容大小

c++ - GCC 5.2 cc1、cc1plus 错误

c++ - 如何最好地缓解触发非增量链接 (MSVS) 的场景

javascript - 从位于数组内部的数组中删除逗号

vb.net - 检索解密文件 vb.net 的 key 时出错

javascript - 拉斐尔 svg 导入大小

java - super 库链接不起作用