以下のコードでセグメンテーション違反が発生する可能性はありますか?
struct Dim {
int x, y, z;
};
Dim set_dim(int a) {
Dim l;
l.x=a;
l.y=a;
l.z=a;
return l;
}
int sum(const Dim &m) {
int s=m.x+m.y;
return s;
}
main() {
cout<<sum(set_dim(5))<<endl;
}
set_dim でローカル変数 'l' が参照されているため、つまり、スコープ外の変数への参照が行われているためだと思います。しかし、それが機能することは決してありません