我正在尝试从函数返回字符串数组并循环遍历它:
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.
通常,我会在这种情况下使用 vector,但我想测试这种行为。
我是一名优秀的程序员,十分优秀!