...programma base che non parte...

di il
3 risposte

...programma base che non parte...

Microsoft visual studio 2010 mi da una svagonata di errori,a cominciare al non riconoscermi la definizione degli string anche se ho inserito l'header...
Il programma è semplicissimo ma visto che sto cominciando ora con il c++ non mi stupisce che ci siano errori molto stupidi....il funzionamento è il seguente:
i file sono 4:
main.h
persona.h
persona.cpp
main.cpp

(main.h non l'ho postato in quanto conteneva solo il costruttore e distruttore)

spero riusciate ad aiutarmi un pò! thanks....
ps. non ho postato gli errori perchè sono talmente tanti che mi sorge il dubbio del corretto funzionamento di visual studio..che ne pensate?
il primo errore è il seguente: "namespace std has no member "cout"..."
#include "main.h"
#include "persona.h"
#include <iostream>
#include <stdlib.h>
#include <string>
#include <iostream>
using namespace std;

int main(){
	persona p;
	std::cout << "Inserisci nome : ";
	string persona;
	std::cin >> (persona);
	p.setNome(persona);
	std::cout << "Inserisci anno di nascita : ";
	int anno;
	std::cin >> anno;
	p.setAnno(anno);
	std::cout << p.getNome() << " - Nato il : " <<p.getAnnoNascita();
	
	
	return(0);
}
#include "persona.h"
#include <iostream>
#include <string>

using namespace std;

persona::persona()
{
	
	std::cout << "Persona inizializzata";
}


persona::~persona()
{
	std::cout << "Persona eliminata";
}


void persona::setNome(string n){
	nome = n;
}

void persona::setAnno(int a){
	anno = a;
}

string persona::getNome(){
	return nome;
}

int persona::getAnnoNascita(){
	return annoNascita;
}
pragma once

class persona
{

	string nome;
	int annoNascita;

public:
	persona(void);
	~persona(void);
	void setNome(string  n);
	void setAnno(int a);
	string getNome();
	int getAnnoNascita();
}

3 Risposte

  • Re: ...programma base che non parte...

    
    #include <iostream>
    #include <stdlib.h>
    #include <string>
    #include <iostream>
    
    eliminare i header superflui.
    persona.h non sa cos'è lo string perche non è incluso il header <string>
    
    persona p;
    std::cout << "Inserisci nome : ";
    string persona;
    
    persona cos'è un string o una classe? stesso nome x due oggetti differenti.
  • Re: ...programma base che non parte...

    Hai ragione,c'era un errore là...ho inserito tutti gli header,ma ho un problema.
    Se inserisco "using namespace std" ma dà questo errore:
    error C2143: syntax error : missing ';' before 'using'

    e non riesco a capire!

    Altra domanda,ma i namespace vanno inseriti sempre? perchè se li tolgo non mi prende gli string..se li inserisco ho un problema con questo presunto ";"
  • Re: ...programma base che non parte...

    I namespace non vanno usati. per specificare string devi mettere std::string. Posta il pezzo di codice con problemi.
Devi accedere o registrarti per scrivere nel forum
3 risposte