class CryolitePolicy { typedef int InumimiDaisuki ; InumimiDaisuki f() ; } ; // 不可 //InumimiDaisuki CryolitePolicy::f(){ return 0 ; }; // 可 auto CryolitePolicy::f() -> InumimiDaisuki { return 0 ; }
規格を読んだところ、確かにその通りだ。3.3.7 Class scope [basic.scope.class]に、明確に書いてある。いやしかしこれはひどい。
これ厄介ですよね。でもコンパイラ視点だと InumimiDaisuki がどのスコープで定義されているものなのかヒントがないので、しかたないかと諦めたり。
ReplyDeleteこれ厄介ですよね。でもコンパイラ視点だと InumimiDaisuki がどのスコープで定義されているものなのかヒントがないので、しかたないかと諦めたり。
ReplyDelete