-1
Speak devs, I’m trying to destroy the Wheel array but I get an error message:
error: expected Primary-Expression before ';' token
How can I fix the error? Follow my files if you can take a look:
practice01.cpp
#include <iostream>
#include <locale.h>
#include "veiculo.h"
#include "veiculo.cpp"
using namespace std;
int main()
{
setlocale(LC_ALL, "portuguese");
cout << "Primeira aplicação C++" << endl;
/*
Veiculo veiculo1("v1");
{
Veiculo veiculo2("v2");
{
Veiculo veiculo3("v3");
}
}*/
Veiculo *obj1 = new Veiculo("v1");
{
Veiculo *obj2 = new Veiculo("v2");
{
Veiculo *obj3 = new Veiculo("v3");
obj3->setNumRodas(3, 3);
cout << "Número de rodas: " << obj3->getNumRodas() << endl;
obj3->~Veiculo();
}
obj2->setNumRodas(2, 2);
cout << "Número de rodas: " << obj2->getNumRodas() << endl;
obj2->~Veiculo();
}
obj1->setNumRodas(1, 1);
cout << "Número de rodas: " << obj1->getNumRodas() << endl;
obj1->~Veiculo();
return 0;
}
vehicle. h
#ifndef VEICULO_H_INCLUDED
#define VEICULO_H_INCLUDED
using namespace std;
class Roda
{
Roda()
{
cout << "Objeto construído!" << endl;
}
~Roda()
{
cout << "Objeto destruído!" << endl;
}
};
class Veiculo
{
private:
string nome;
int num_rodas;
Roda *rodas;
public:
Veiculo(const char *param);
~Veiculo();
void setNumRodas(int nRodas, int tamanho);
int getNumRodas();
};
#endif // VEICULO_H_INCLUDED
vehicle cpp.
#include <iostream>
using namespace std;
Veiculo::Veiculo(const char *param)
{
this->nome = string(param);
this->rodas = NULL;
cout << "Um objeto foi construído com nome " << nome << endl;
}
Veiculo::~Veiculo()
{
cout << "O objeto " << nome << " foi destruído!" << endl;
delete [] Roda;
};
void Veiculo::setNumRodas(int nRodas, int tamanho)
{
this->num_rodas = nRodas;
Roda *rodas[tamanho];
}
int Veiculo::getNumRodas()
{
return this->num_rodas;
}