次のように、コンパイル時にファンクターの配列を作成しようとしています: (完全なファイル):
#include <functional>
using namespace std;
function< float( float tElevation, float pAzimuth )> colorFunctions[] = {
[]( float tElevation, float pAzimuth ) -> float {
return 2.0f ;
},
} ;
int main()
{
}
それはうまくいきます。しかし、ファンクター ブロック内にローカルを作成しようとすると、次のようになります。
function< float( float tElevation, float pAzimuth )> colorFunctions[] = {
[]( float tElevation, float pAzimuth ) -> float {
float v = 2.0f ;
return v ;
},
} ;
Error 1 error C1506: unrecoverable block scoping error が表示される
これらのブロック内でローカルを宣言するにはどうすればよいですか? うまくいかないようです。