Ich bekomme immer Fehler: undefined reference to 'Company::budget'
. Meine Methode ist so eingerichtet, dass sie den Wert des (beliebigen erstellten) Budgets des Unternehmens berücksichtigt und das Gehalt des Mitarbeiters von diesem subtrahiert. Ich bekomme dieses Problem immer wieder. Versuchte beide Zeiger und sagen wir "normales Anrufen". Ok, es ist der Code-Schnipsel: (Rest es funktioniert)C++ - undefinierter Verweis auf 'Class :: variable'
company.h
#include <iostream>
#include <cstdlib>
#include <list>
#include <vector>
#include "employee.h"
using namespace std;
class Company
{
public:
Company* comp;
void hire(Employee& emp, float putSalary);
void fire(Employee& emp);
void endOfMonth(Company& comp);
Company(float);
// static float moneyamount;
private:
static float budget;
vector <Employee>* Employees;
};
company.cpp
void Company::endOfMonth(Company& comp)
{
for (iterat=0; iterat < Employees->size() ; iterat++)
{
cout << (*Employees)[iterat].fullName << endl;
cout << (*Employees)[iterat].getSalary() << endl;
comp.budget = comp.budget - (*Employees)[iterat].getSalary();
}
}
http://stackoverflow.com/questions/12573816/what-is-an- undefined-referenz-nicht-gelöst-external-symbol-fehler-und-wie-tun-i-fix/12574407 # 12574407 – chris
wenn es möglich ist, sollten Sie 'smart_pointers' verwenden und es ist auch keine großartige Idee, 'using' zu verwenden namespace std' – Matthew