Funktionsvorlagenaufruf: Typableitung und leere, in geschweifte Klammern eingeschlossene InitialisierungslisteC++

Programme in C++. Entwicklerforum
Guest
 Funktionsvorlagenaufruf: Typableitung und leere, in geschweifte Klammern eingeschlossene Initialisierungsliste

Post by Guest »

Berücksichtigen Sie die folgenden Funktionsvorlagenaufrufe:

Code: Select all

#include 

template 
void f(std::optional);

int main() {
f(1);  // (1)
f({}); // (2)
}
Der erste Aufruf (1) wird nicht kompiliert: Die Typableitung sollte erfolgen, bevor eine Typkonvertierung der Argumente stattfinden kann, aber T kann dabei nicht abgeleitet werden Kontext.
(2) wird jedoch kompiliert und das Standardvorlagenargument wird verwendet. Warum?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post