// Code derived from Stroustrup's PPP2 book// § 8.5.2 Returning a value// -and beginning on p 274#include<iostream>#include<string>#include<vector>usingnamespacestd;typedefintT;typedefdoubleV;Tf()// f() returns a T{Vv;// ...returnv;// error: uninitialized return}// warning: buggy codedoublemy_abs(intx){if(x<0)return-x;elseif(x>0)returnx;// error: no value returned if x is 0}voidprint_until_s(constvector<string>v,conststrings){for(inti=0;i<(int)v.size();++i){if(v[i]==s)return;cout<<v[i]<<'\n';}}intmain(){Tx=f();Vv;// ...// initialize t with vTt(v);// error: v uninitialized when used herecout<<x<<t<<'\n';}