Salve venendo dal java ed approcciandomi a C++, volevo sapere come mai non riesco a definire una mappa di oggetti.
Inserisco questo codice, ma mi da errori
codice:#include <map> #include <algorithm> #include <iostream> #include <string> #include "amico.h" int main(){ amico amic ("marco","rossi"); //definisco l'oggetto amic di tipo amico map<string,amico*> amap; //creo la mappa amap amap.insert(std::pair<string, amico>("Primo", amic)); oppure ----> (ma mi da errore lo stesso) amap["Primo"]=amic; cout << "Size: " << amap.size() << endl; system("pause"); return 0; } -------------------------------------- //questo invece è il file amico.cpp -------------------------------------- #include "StdAfx.h" #include<iostream> #include<cstring> #include<cassert> using namespace std; #include "amico.h" amico::amico( char *first, char *second) { nome= new char[ strlen(first) + 1]; assert ( nome != 0); //termina se non è allocato strcpy( nome, first); cognome=new char[ strlen(second)+1]; assert( cognome !=0); //termina se non è allocato strcpy(cognome,second); } void amico::print() { cout << nome << " " << cognome; } amico::~amico(){ delete [] nome; delete [] cognome; }

Rispondi quotando