Xcode gibt an, dass "stdDev" in meiner Hauptdatei ein nicht deklarierter Bezeichner ist, aber in der Header-Datei deklariert wurde. Ich bin völlig verbrannt, wie ich das beheben kann. Ich würde einige Unterstützung schätzen!C++ - Hauptdatei hat nicht deklarierten Bezeichner, der in der Header-Datei deklariert ist (Xcode)
#include <iostream>
#include <string>
#include <cmath>
#include "Person.hpp"
using namespace std;
int main()
{
Person personRob("Rob", 95);
Person personBob("Bob", 89);
Person personGob("Gob", 99);
Person personArray[] = {personRob, personBob, personGob};
Person whole_class;
cout << "Standard deviation is: " << stdDev /* where Xcode is saying that stdDev is an undeclared identifier */ << endl;
return 0;
}
person.hpp:
#include <iostream>
#include <string>
#ifndef PERSON_HPP
#define PERSON_HPP
class Person
{
private:
std::string name;
double age;
public:
Person(std::string = " ", double = 0.0);
std::string getName();
double getAge();
double stdDev(Person personArray[], int size);
};
#endif
Es ist schwierig zu sagen, was ohne zu sehen, den Inhalt Person.hpp falsch ist. –
Ich habe die Header-Datei hinzugefügt – midnightmerc
'stdDev' ist eine Methode. Es muss für eine Instanz von "Person" aufgerufen werden. Etwas wie 'cout <<" Standardabweichung ist: "<< whole_class.stdDev (mehr fehlende Sachen geht hier) << endl;' Andernfalls denkt der Compiler, dass Sie eine Variable namens "stdDev" haben, die nicht gefunden werden kann. – user4581301