void func( void ) { int x; switch ( x ) { case 0 : int i = 1; // エラー, case 1 によってスキップされます { int j = 1; } // OK, 閉じたブロック内で初期化されています case 1 : int k = 1; // OK, 初期化はスキップされません } }
ifstream is( from.c_str() ); istream_iterator<string> ii( is ); istream_iterator<string> eos; int i = static_cast<int>(distance( ii, eos )); vector<string> b( i ); copy( ii, eos, b.begin() );
なんかうまくcopyされてないみたい。。。 この ii の値はdistanceの後変わってしまう? あとeosってここではどんな意味が?
>>430 ifstream is( from.c_str() ); istream_iterator<string> ii( is ); istream_iterator<string> eos; int i = static_cast<int>(distance( ii, eos )); vector<string> b( i ); ii.clear(); ii.seekg(0, std::ios::beg); copy( ii, eos, b.begin() );
#include "iostream" struct S_Base{public:float x,y;virtual ~S_Base(){;}}; class C_Child_S_Base:public S_Base{public:virtual ~C_Child_S_Base(){;}}; class C_GrandChild_S_Base:public C_Child_S_Base{public:~C_GrandChild_S_Base(){;}}; class C_Base{public:float x,y;virtual ~C_Base(){;}}; class C_Child_C_Base:public C_Base{public:virtual ~C_Child_C_Base(){;}}; class C_GrandChild_C_Base:public C_Child_C_Base{public:~C_GrandChild_C_Base(){;}};