【发布时间】:2013-08-05 03:40:18
【问题描述】:
我不是 C 程序员,所以我对 C 字符串不太熟悉,但现在我必须使用 C 库,所以这里是我的代码的缩短版本来演示我的问题:
char** ReadLineImpl::my_completion () {
char* matches[1];
matches[0] = "add";
return matches;
}
我收到此警告:
警告 - 与返回的局部变量“匹配”相关的堆栈内存地址
而且我的程序似乎不能正常工作(可能是因为上面提到的警告)。
警告意味着什么?会不会有什么问题?
【问题讨论】:
-
您将地址返回到第一个字符指针,该指针分配在堆栈上,退出函数后不再存在。