Errore strano in Dev C++

di il
5 risposte

Errore strano in Dev C++

Salve ragazzi, stavo facendo un esercizio di "gestione dei dati bancari di alcuni clienti". E mi è uscito un errore che non riesco proprio a capire, e per il quale mi restituisce poi " ld returned 1 exit status ".
Ecco il codice:
//File Client.h

#ifndef CLIENTDATA_H
#define CLIENTDATA_H
#include <string>
using std::string; 

class Client{
	public:
		Client(int =0, const string& = "", const string& = "", double = 0.0); 
		int getAccountNumber()const;
		void setAccountNumber(int); 
		string getNome()const;
		void setNome(const string&);
		string getCognome() const; 
		void setCognome(const string&); 
		double getBalance() const;
		void setBalance(double); 
	private:
		int accountNumber;
		char nome[15]; //Lunghezza fissa
		char cognome[10]; 
		double balance;
};

//File "Client.cpp"

#include "Client.h"

Client::Client(int account, const string& name, const string& lastName, double b)
   : accountNumber(account), balance(b) {
   	setNome(name); 
   	setCognome(lastName); 
}


int Client::getAccountNumber() const
{
	return accountNumber;
}

void Client::setAccountNumber(int account)
{
	accountNumber = account;
}

string Client::getNome() const
{
	return nome;
}

void Client::setNome(const string& name)
{ //DEVE ESSERE A LUNGHEZZA FISSA
	size_t length = {name.size()}; 
	length = (length < 15 ? length : 14); 
	name.copy(nome,length); 
	nome[length] = '\0'; //Appende il terminatore alla fine della stringa
}

string Client::getCognome() const
{
	return cognome;
}

void Client::setCognome(const string& lastName)
{
	size_t length = {lastName.size()}; 
	length = (length<10 ? length : 9); 
	lastName.copy(cognome, length); 
	cognome[length] = '\0';  
}

double Client::getBalance() const
{
	return balance;
}

void Client::setBalance(double b)
{
	balance = b; 
}

Il "problema" sta nel fatto che quando vado ad eseguire Client.cpp, mi esce:
18		C:\crossdev\src\mingw-w64-v3-git\mingw-w64-crt\crt\crt0_c.c	undefined reference to `WinMain'

che poi appunto mi riporta l'errore ld returned 1 exit status.
Potreste aiutarmi per favore? Anche perché lunedi ho l'esame di programmazione e se non riesco a stampare correttamente i codici è un problema!!
Grazie mille come sempre che mi aiutate.

5 Risposte

  • Re: Errore strano in Dev C++

    Il codice del main dov'è?
  • Re: Errore strano in Dev C++

    Grazie mille per avermi risposto oregon.
    Il main è il seguente (Creazione di un file .dat ad accesso casuale dove memorizzare le informazioni sui conti dei clienti):
    #include <iostream>
    #include <fstream>
    #include <cstdlib>
    #include "Client.h"
    using namespace std;
    
    int main()
    {
    	ofstream outCredit{"credit.dat", ios::out | ios::binary}; 
    	
    	if(!outCredit)
    	{
    		cerr << "File could not be opened." << endl;
    		exit(EXIT_FAILURE); 
    	}
    	 
    	
    	Client blankClient; //Cliente vuoto
    	//Registro ora 100 record VUOTI nel file:
    	for (int i=0; i<100; i++)
    	   outCredit.write(reinterpret_cast<const char*>(&blankClient), sizeof(Client));
    	   
    }

    E tra l'altro come "problema" che poi mi riporta ancora l'exit status 1 c'è anche questo:
    Creazione file random.cpp:(.text+0x105): undefined reference to `Client::Client(int, std::string const&, std::string const&, double)'
  • Re: Errore strano in Dev C++

    Ma che tipo di progetto hai creato? Deve essere di tipo Console
  • Re: Errore strano in Dev C++

    Quindi dovrei fare: File->Nuovo->Progetto->Console Application giusto?
  • Re: Errore strano in Dev C++

    Certo, visto che la tua è un applicazione console...
Devi accedere o registrarti per scrivere nel forum
5 risposte