3

基本クラスとヘッダーをコンパイルするときにこのエラーが発生します。明らかな何かが欠けているかどうかわかりませんか?必要に応じて追加の詳細を提供できます。

注: #include <string>Event.h に追加しましたが、エラーが残ります。

イベント.cpp

#include "Event.h"
#include <string>

std::string Event::getLabel() {
    return label;
}

Event.h

#ifndef EVENT_H
#define EVENT_H

#define EVENT_STOP 0
#define EVENT_START 1


class Event {
private:

protected:
    double time;
    std::string label;
    int type; // EVENT_START OR EVENT_STOP

public:
    std::string getLabel(); 

};

#endif

コンパイルしてエラー

g++ -c -Wall -pedantic correngine.cpp
g++ -c -Wall -pedantic CSVManager.cpp
g++ -c -Wall -pedantic ServerEvent.cpp 
g++    -c -o UPSEvent.o UPSEvent.cpp
g++ -c -Wall -pedantic CorrelationEngineManager.cpp
g++ -c -Wall -pedantic Event.cpp
Event.cpp:4: error: no ‘std::string Event::getLabel()’ member function declared in class ‘Event’
make: *** [Event.o] Error 1
4

2 に答える 2

10

同様の問題があり、ヘッダーの横に生成され、明らかに破損していた [ヘッダー名].gch ファイルを削除することで解決しました。多分あなたはそれを試すことができますか?

于 2014-02-14T18:44:06.257 に答える
4

std::stringEvent.h にヘッダーを含める必要があります

#ifndef EVENT_H
#define EVENT_H

#include <string>        //<<----  here

#define EVENT_STOP 0
#define EVENT_START 1


class Event {
private:

protected:
    double time;
    std::string label;
    int type; // EVENT_START OR EVENT_STOP

public:
    std::string getLabel(); 

};

#endif
于 2013-02-21T03:19:17.473 に答える