I'm getting an "unresolved external symbol "public:__thiscall hijo<int>::hijo<int>(void)" referenced in function_main
Ho avviato un nuovo progetto perché stavo riscontrando lo stesso errore su un altro progetto più grande. L'errore si verifica quando provo ad allocare lo spazio utilizzando la nuova parola chiave. Se questo errore è sciocco per favore perdonami perché non ho programmato nulla negli ultimi mesi.Errore linker quando si utilizza una classe template?
/********************file hijo.h******************/
#pragma once
#ifndef hijo_h
#define hijo_h
template <class A>
class hijo
{
public:
hijo(void);
~hijo(void);
};
#endif
/********************file hijo.cpp***************/
#include "hijo.h"
#include <iostream>
using namespace std;
template <class A>
hijo<A>::hijo(void)
{
}
template <class A>
hijo<A>::~hijo(void)
{
}
/*********************at main() function ***************/
#include <iostream>
#include "hijo.h"
int main(){
hijo<int> *h = new hijo<int>; <---- PROBLEM AT THIS LINE
system("pause");
return 0;
}
"ma sfortunatamente è qui per restare" - finché non avremo moduli. \ * incrocia le dita * – Xeo
FUNZIONA COME UN FASCINO, dovevo solo fare una piccola correzione alla tua soluzione. invece di aggiungere il codice nel file .h ho appena incluso il file .cpp nella parte inferiore del file .h. È lo stesso risultato come se entrambe le parti fossero nello stesso file. in "hijo.cpp" #ifndef hijo_cpp #define hijo_cpp e in fondo #endif ... u Grazie per la risposta ... – HoNgOuRu
devo aspettare 8 minuti in più per segnare la domanda come risposta – HoNgOuRu