0

文字列ライブラリを使用する C++ クラスを作成したいと考えています。ここに私のソースコードがあります:

test.h:

#include <string>


class info {
public:
    // constructor
    info (string first_name, string last_name, int age);
    // deconstructor
    ~info ();



private:
    string first_name;
    string last_name;
    int age;

};

そして、これが私のヘッダーアシストファイルです: test.cpp

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


info::info (string first_name, string last_name, int age) {
    this->first_name = first_name;
    this->last_name = last_name;
    this->age = age;

}
info::~info () {
}

ただし、構文エラーが発生します。識別子「文字列」は未定義です

何故ですか?私はちょっと C++ データ構造の初心者です

また、これはVisual Studio 2012でコンパイルしています

4

1 に答える 1

3

修飾名(名前空間の識別子)を使用しているため、std::前に必要があります。stringstd

たとえば、コンストラクタは次のようになります。

info (std::string const& first_name, std::string const& last_name, int age);
于 2013-04-21T12:35:57.580 に答える