7
考慮下面的代碼:非捕獲通用lambdas衰減到函數指針?
int main() {
auto l = [](auto){};
void(*p)(int) = l;
}
它的工作原理只是都與GCC和clang罰款。
讓我們考慮以下稍作修改的版本:
int main() {
auto l = [](auto...){};
void(*p)(int) = l;
}
在這種情況下,依然鏗鏘而accepts it GCC rejects it。
是否有任何理由讓這段代碼被拒絕或者它是編譯器的錯誤?
我要開一個問題,但我想知道如果存在,可能已被他們中的一個,而不是由另一種實現的任何建議。
GCC編譯器(5.1.0)告訴你它沒有實現:「對不起,未實現:將使用'...'的lambda轉換爲函數指針」 –
@latedeveloper Ahahah ...我在移動設備上嘗試了它並顯示錯誤消息更短(可能被刪除),而手機上的godbolt遠不是用戶友好的。良好的發現,沒有看到它。所以,我不會公開任何問題,他們已經知道了!謝謝。我要結束我自己的問題。 – skypjack
錯誤信息很清楚,這裏沒有實際的問題。 – skypjack