<分区>
Possible Duplicate:
Can a local variable’s memory be accessed outside its scope?
double* weird( double a, double b )
{
double c;
c = pow( a + b, 0.5 );
return &c;
}
对于你们大多数人来说这可能是微不足道的,但我不认为这里会出现什么问题。
标签 c++
<分区>
Possible Duplicate:
Can a local variable’s memory be accessed outside its scope?
double* weird( double a, double b )
{
double c;
c = pow( a + b, 0.5 );
return &c;
}
对于你们大多数人来说这可能是微不足道的,但我不认为这里会出现什么问题。
最佳答案
这是非常错误的,因为您返回的是指向局部变量的指针。
当 &c
返回时,作用域为函数 weird
的变量 c
将被销毁,从而为您提供一个指向的指针你内存中的一个随机区域。
这是未定义的行为。
关于c++ - 此功能可能有什么问题或不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13000900/
相关文章:
c# 将文件指针传递给非托管 c++ dll 以用于标准输出
c++ - Visual Studio 2013 的可再发行组件包中缺少 msvcp120.dll 和 msvcr120.dll
c++ - std::throw_with_nested() 在内存不足的情况下调用 std::terminate()
c++ - 在 meta-toolkit 的 config.toml 中配置默认链
c++ - 如何通过引用将存储在列表中的结构成员传递给函数?
java - 如何混合 C++ Qt 对象和 Qt Jambi 对象