0
爲什麼我得到此警告?: 警告:'row1 [3]'在此函數中未初始化使用[-Wuninitialized] 我一直在使用Google搜索一段時間,但是我找不到任何答案,可能只是因爲我無法在Google上搜索答案。X在此函數中未初始化使用
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int setfunc(int x);
int main()
{
int row1[3]{0,0,0};
setfunc(row1[3]);
}
int setfunc(int x[])
{
string sub;
int rowset;
stringstream rs;
string snums;
int elementnum = sizeof(x)/sizeof(0);
for(int z = 1; z <= elementnum; z++)
{
int find = snums.find(",");
if(find == -1)break;
else
{
sub = snums.substr(0, snums.find(","));
rs << sub;
rs >> rowset;
snums.erase(0, snums.find(",") +1);
}
x[z] = rowset;
cout << x[z] << endl;
}
return 0;
}
所有幫助表示讚賞
在這種情況下,sizeof的目標是傳入一個數組,是不是會返回一個指針的大小? – WearyWanderer
是的,你是對的。傳遞給函數時大小信息丟失。 – Bathsheba
感謝您的幫助:) – AdminBenni