https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84981

            Bug ID: 84981
           Summary: C++17 allows function pointers with no linkage as
                    template parameters but gcc errors, stating the
                    function has no linkage
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xaxxon at gmail dot com
  Target Milestone: ---

https://godbolt.org/g/7qE4iW


template<auto f>
void func() {
}
int main() {

    constexpr auto lambda_function_pointer = +[](){};
    func<lambda_function_pointer>();

}


<source>:9:35: error: 'main()::<lambda()>::_FUN' is not a valid template
argument for type 'void (*)()' because 'static constexpr void
main()::<lambda()>::_FUN()' has no linkage

Reply via email to