Quantcast
Channel: Форум программистов и сисадминов Киберфорум
Viewing all articles
Browse latest Browse all 514743

[c++][error][decltype] error: decltype cannot resolve address of overloaded function - C++

$
0
0
всем привет.

есть две перегрузки.
гарантируется, что одна будет не шаблонной,
а другая - шаблонной.
их типы - unspecified
то бишь они могут постоянно изменяться.

могут добавляться новые пары функций с другими именами,
типы которых так же unspecified

не хочется в ручную каждый раз отслеживать возможные изменения.
хочется автоматический вывод типов.

рассмотрим код:

http://rextester.com/JMVC42751

:



// заранее не известно
// каким может быть возвращаемое значение
int foo(){ return 0; }

// заранее не известно
// каким может быть возвращаемое значение
template<class t> t foo(){ return t{}; }

int main()
{
    foo();      // ок.
    foo<int>(); // ok
   
    // error: decltype cannot resolve address of overloaded function
    using fn = decltype(&foo);

    // конкретно, мне нужно автоматически определять тип нешаблонной версии функции
    // если бы я хотел шаблонную, то так бы и писал: &foo<type>
   
    //WTF ???
   
}


Viewing all articles
Browse latest Browse all 514743

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>