私の関数には未定義の動作がありますか? ローカル変数 c があるため、自動ロケーションにあるため、関数の実行後に破棄されますか? (範囲の終わり)
int* calculate(int* a,int* b)
{
int c=(*a)+(*b); //local variable c
return &c;
}
int main()
{
int a=12;
int b=23;
int* ptr=calculate(&a,&b);
std::cout<<*ptr<<endl;
}