0

check.h以下を定義するヘッダーファイル" "がありますstruct

#ifndef CHECK_H
#define CHECK_H
#include<string>
struct Test{
    std::string check;

};

#endif  

上記で定義test.hしたリターンタイプの次の関数を持つ別のヘッダーファイル" "があります。struct Test

#ifndef TEST_H
#define TEST_H
#include<string>
#include "check.h"
Test display(std::string);
#endif  

しかし"check.h"、このヘッダーファイルにインクルードしても、unable to resolve identifierエラーが発生します。これを修正するにはどうすればよいですか?

4

2 に答える 2

2

名前Test.

持っている場合は、他のものではなくクラスを参照していることを明確にする必要があります。

struct Test display(std::string);
^^^^^^

ただし、はるかに優れた解決策は、異なるものに同じ名前を使用しないことです。

于 2012-12-12T11:44:42.890 に答える
0

型ではなく構造体を定義しているstruct Testため、戻る必要があります。test.h

または、構造体定義を typedef に変更します。

typedef struct s_Test{
    string check;
} Test;

そこのウィキペディアを参照してください

于 2012-12-12T11:22:15.623 に答える