Aus irgendeinem Grund bekomme ich keine passenden Anruffehler, trotz meiner Erwartungen. Warum passiert das?Vorlage Vorlage Argumente: kein passender Anruf gefunden
Antwort
std::vector
nimmt nicht ein Argument, aber zwei (es gibt Allocator
), so dass es nicht gegen eine Vorlage, die nur eine nehmen sollte, abgestimmt werden kann. Sie müssen entweder ändern:
template <template <typename, typename> class x>
// or:
template <template <typename... > class x>
Sie müssen auch den Rückgabetyp Ihrer Funktion ändern, da es unwahrscheinlich ist, dass x<int>
void
ist.
Beachten Sie, wenn Sie die Version mit zwei typename
verwenden, würden Sie jeden Parameter in der return-Anweisung (z x<int, std::allocator<int>>
) angeben müssen, weshalb Sie die variadische Version bevorzugen sollen (typename...
).
Also sollte ich jeden Template-Parameter auflisten? – RomaValcer
@RomaValcer Ja, oder verwenden Sie eine variadische Version. – Holt
std :: vector template sieht wie folgt aus:
template<
class T,
class Allocator = std::allocator<T>
> class vector;
so haben Sie Type-Name T und Allocator für sie, so der richtige Code sein sollte:
template<template<typename,typename> class x>
void test() {
x<int, std::allocator<int>>();
}
- 1. Kein passender Konstruktor in Klasse gefunden. Actors.FileObserverActor für Argumente
- 2. Kein passender Treiber gefunden Fehler
- 3. UCanAccess: Kein passender Treiber gefunden
- 4. fehlende Vorlage Argumente vor
- 5. Vervielfachung der Vorlage Argumente
- 6. kein passender Konstruktor gefunden für Exception (int)
- 7. Ich finde kein Element in meiner Vorlage nach Ajax Anruf
- 8. mehrdeutiger Anruf in Vorlage Fehler
- 9. Anruf Zweig Vorlage in JS
- 10. Vorlage Funktion Anruf Mehrdeutigkeit Fehler
- 11. Nunjucks: Vorlage nicht gefunden
- 12. Django Vorlage nicht gefunden
- 13. pyinstaller Vorlage nicht gefunden
- 14. Google Datastore-Fehler: Kein passender Index gefunden
- 15. Kein passender Treiber für jdbc/IFPWAFCAD“gefunden
- 16. Kein passender Treiber gefunden für jdbc.sqlite
- 17. Kein passender Treiber gefunden für jdbc Neo4j
- 18. Google Datastore-Emulator - Kein passender Index gefunden
- 19. SQLException: Kein passender Treiber gefunden für org.sqlite.JDBC
- 20. Kein passender Kunde gefunden für Paketname 'demo.abc.com.deals.debug'
- 21. Kein passender Treiber gefunden (jdbc: pgsql)
- 22. Groovy: Kein passender ClassLoader gefunden für Grab
- 23. Kein passender Konstruktor gefunden - zum Fliegen
- 24. lesen Argumente von variadic Vorlage
- 25. C++ Kombinieren Argumente Vorlage Metaprogrammierung
- 26. CodeIgniter PHPWord Vorlage nicht gefunden
- 27. Wie Anruf Live-Vorlage-Funktion in Setter-Vorlage?
- 28. die Anzahl der Vorlage Argumente einer variadische Vorlage speichern
- 29. conexpr Funktion Parameter als Vorlage Argumente
- 30. Variadic Vorlage Rekursion, falsche Anzahl der Argumente
Wo ist der Typ 'X' definiert? Warum kehren Sie von einer "void" -Funktion zurück? –
Schauen Sie sich std :: vector declaration an. –
Was versuchst du in der Testfunktion zu tun ..? –