循環,我試圖從功能和循環返回一個字符串數組throught它:通過字符串數組指針由
string* fetchArray()
{
string myArray[10] = { "0" };
myArray[9] = { "End" };
return myArray;
};
int main()
{
string* fetchedArray = fetchArray();
while (*fetchedArray != "End")
{
cout << *fetchedArray << endl;
fetchedArray++;
}
return 0;
}
不過,我做錯了什麼。這會導致運行時錯誤。我可以看到,當我調試函數調用後,* fetchedArray是空的,這可能意味着函數沒有返回我所期望的。我至少期待陣列的第一個元素是正確的。
錯誤:
Exception thrown at 0x54AA40D5 (vcruntime140d.dll) in Test.exe: 0xC0000005: Access violation reading location 0xCCCCCCCC.
通常情況下,我會用向量在這種情況下,但我想測試此行爲。
不要從函數返回局部變量的地址。這樣的回報價值毫無意義,絕不能使用。 –