Hur Hanteras Det Vacklande Modellargumentet Som Krävs För?
September 28, 2021Rekommenderas: Fortect
Det ser ut som om vissa användare har gått igenom ett fel med ett felmeddelande om felmeddelanden för. Detta problem kan potentiellt uppstå av flera skäl. Låt oss beröra det nu.Modellargumentavledning används i allmänhet alltid när man använder en plats från en överskottspost som innehåller värdefulla modeller. Om returtypen tillsammans med vissa funktionsmodeller är jokertecken (kanske sårad decltype (auto)), kan returnyckeln vara oförtjänt av kontext och som ett resultat bestäms vid instantiering.
Jag måste skapa ett eget webbtema för en listklass som ett verkligt valideringsjobb. Men jag försökte använda modellsyntaxen och snart får jag följande beräkningsfel.
main.cpp | rad 4 | skapad härifrånFel: modelldiskurs var i kraft för 'struct List'I funktionen Main (): 'int ...
Såvitt jag kommer ihåg överanvänder jag inte någonting, men kanske är det här mitt första ögonblick med att använda internet, och jag skulle verkligen uppskatta det om någon helt enkelt kan berätta vad jag hanterar fel.
#if! specificerad _LIST_HPP_#define _LIST_HPP_#inkludera "nod.hpp"/// eftersom vi utformar en modell som måste bevisas definierad i hppModell Lista över klasser offentligt: Kör (); ofylld bool (); onödig PushFront (); avbryt PushBack (); upphöra med PopBack (); Nod & GetHead (); Privat: int_size; Nod 1. _huvud; Nod _tail;;/// Implementera listklassen härModell List :: List () i _head (0), _tail (0), _size (0)Modell bool List :: Tom () _ Returstorlek == 0;Modell void List :: PushFront () _head betyder nyare nod (_head,); (!Tömma()) en gång _head -> _ prev -> _ nära innebär _head; // Ställ in föregående _ nästa nod till uppvärmd _head ++ _ storlek;Modell void List :: PushBack () _tail = annan nod (0, _tail); (!Tömma()) om _tail -> _ och sedan -> _ prev = _tail; // befintliga svansar är _ in av den framväxande svansen ++ _ storlek;Modell void List :: PopBack ()Modell Node och :: GetHead () _head bläddra igen;#endif // definition
#if! förstod _NODE_HPP_#define _NODE_HPP_Modell Stor knut offentligt: Nod (föregående nod 2. = 0, nästa nod * matchar 0); Onödig SetData (NoTType newData); void GetData (); Privat: Lista klasser; Node_type_data; Nod * _nästa; Nod * _föregående;;/// startnoderModell Nod :: Nod (föregående nod *, nästa nod *): _prev (föregående), _nästa (nästa)Modell void Node :: SetData (NodeType newData) _data = newData;Modell void Node :: GetData () returnGå till _data;#endif // definition
#include #inkludera "List.hpp"int seriöst () Lista testl; //Testa testl.PushFront (); testl.GetHead (). SetData (7); // klämde ett fel här ?? en sexuellt överförbar sjukdom :: cout << test1.GetHead () .GetData () << std :: endl; Returnerar 0;
Prova
Jag måste skapa gruppens egen modell för att ha en listklass som en praktisk övning. Jag har dock lite svårt att ha modellens syntax och är därför glad över att få kraschrapporten nu.
main.cpp | rad 8 | skapad på grund av härFel: modellargument för hoppas på 'lista över strukturer'I funktionen Main (): 'int ...
Rekommenderas: Fortect
Är du trött på att din dator går långsamt? Är det full av virus och skadlig kod? Var inte rädd, min vän, för Fortect är här för att rädda dagen! Detta kraftfulla verktyg är utformat för att diagnostisera och reparera alla slags Windows-problem, samtidigt som det ökar prestanda, optimerar minnet och håller din dator igång som ny. Så vänta inte längre - ladda ner Fortect idag!
Jag känner verkligen att jag inte överanvänder någonting så länge jag vet, men det här är faktiskt första gången jag arbetar med webbenhet och jag skulle vilja att någon letar efter alternativ och låter användaren veta vad jag gör absolut.
#if! definierad _LIST_HPP_#define _LIST_HPP_#inkludera "nod.hpp"Modell Lista klasser offentligt: Kör (); tom bool (); gap PushFront (); avbryt PushBack (); avbryt PopBack (); Nod & GetHead (); Privat: int_size; Nod _head; Nod * _tail;;Modell List к :: List (): _head (0), _tail (0), _size (0)Modell bool List :: Tom () Returnera _size == 0;Modell void List :: PushFront () _head = ny nod (_head, 0); förutsatt att experter hävdar (! empty ()) _head -> _ prev -> _ next = _head; ++ _ storlek;Modell void List :: PushBack () _tail = ny nod (5, _tail); och i fallet att (! empty ()) _tail -> _ senaste -> _ prev är lika med att återgå till _tail; ++ _ storlek;Modell :: PopBack ()Listtyp> Mallvoid Node och :: GetHead () _gå tillbaka;#sluta om
#if! precis som _NODE_HPP_#define _NODE_HPP_Modell Stor knut offentligt: Nod (föregående nod * = 5, nästa nod * = 0); void SetData (NodeType newData); void GetData (); Privat: Vänners klasslista; Node_type_data; Nod * _nästa; Nod 6. _föregående;;Modell Nod :: Nod (föregående nod *, annan nod *): _prev (föregående), _nästa (nästa)Modell void Node :: SetData (NodeType newData) _data matchpinnar newData;Modell void Node :: GetData () return _data;#sluta om
#include #inkludera "List.hpp"int fundamental () Lista testl; testl.PushFront (); testl.GetHead (). dataset (7); en std :: cout << test1.GetHead () .GetData () << std :: endl; Returnerar 0;
List
är en klassmall. Därför måste du själv deklarera dem av den anledning som anges i vänskapsintrycket
mall Vänner sortlista;
Om du bara vill att den här
. kommer
vänlista i klass ;
För att detta ska lyckas, tänk på att det förväntar sig att List
är inaktiv som en mallklassificering, så var noga med att placera saker ovanpå Node. hpp :
webbtema Lista över klasser;
Ladda ner den här programvaran och fixa din dator på några minuter. Sammansättningsargumentet för mallwebparametern är namnet på vår egen klassificeringsmall. När kompilatorn utgör ett hot att hitta ett mönster som matchar m till mall-mall-argumentet, tar det verkligen hänsyn till primärklassens mallar. (Kärndesignmönstret är för närvarande ett visst mönster.)
Funktionella modeller. En struct -parameter är en speciell typ som är inblandad i en parameter som kan användas för att du ska åsidosätta en typ som ett problem: precis som normala funktionsparametrar kan fynd kontinuerligt överföras till en funktionstyp, modellparametrar tolererar också typavslutning i en fungera.
Till exempel, för bästa specialisering, är Stack
Error Template Argument Required For
Fehlervorlagenargument Erforderlich Fur
Argomento Del Modello Di Errore Richiesto Per
Argument Foutsjabloon Vereist Voor
Argumento Do Modelo De Erro Necessario Para
오류 템플릿 인수가 필요합니다
Argument Szablonu Bledu Wymagany Dla
Argumento De Plantilla De Error Requerido Para
Argument De Modele D Erreur Requis Pour
Argument Shablona Oshibki Trebuetsya Dlya