7
は、次のコードを考えてみましょう:キャプチャしていないジェネリックlambdaは関数ポインタに崩壊する必要がありますか?
int main() {
auto l = [](auto){};
void(*p)(int) = l;
}
それは両方GCCとclangでうまく動作します。
のは、以下の少し変更したバージョンを考えてみましょう:GCC rejects itながら、まだこの場合
int main() {
auto l = [](auto...){};
void(*p)(int) = l;
}
、打ち鳴らすaccepts itを。
このコードを拒否する理由はありますか、それともコンパイラのバグですか?
は、私は問題を開くつもりですが、私はそれらのいずれかではなく、他のいずれかによって実施されている可能性のある提案が存在するかどうかを知りたいのです。
GCCコンパイラ(5.1.0)は実装されていないことを伝えます:「実装されていません:実装されていないラムダを使用しています...」アクセプタポインタ「 –
@lapteveloper Ahahah ...モバイルで試しました。携帯電話でのgodboltはユーザーフレンドリーではありませんでしたが、短くなっていました(おそらくカットアウト)。良いキャッチ、それを見ていない。だから、私は問題を開くことはありません、彼らはすでにそれを知っている!ありがとうございました。私は自分自身の質問を閉じるつもりです。 – skypjack
エラーメッセージはかなり明確で、実際の質問はここにありません。 – skypjack