2

1 次元配列を既定のコンストラクターに割り当てようとしていますが、このエラー メッセージが引き続き表示されます。同じクラスに 2 つのデフォルト コンストラクターを作成する方法はありますか? 1 つはパラメーターなし、もう 1 つはパラメーター付きですか?

ヘッダ

#include <iostream>
#include <string>


using namespace std; 

#ifndef SUBWAY_H
#define SUBWAY_H


class Track
{
    public:
    //Default Constructor 
    Track();                      //error here 

    //Destructor 
    ~Track();

    //Member variables 
    char node_1; 
    char node_2; 
    bool visited; 
};


class Station
{
    public:
    //Default Constructor 
    Station();

    //Destructor 
    ~Station();

    //Member variables 
    char station_name; 
    int track_starting_ID;
    int track_size; 
};


class SubwaySystem
{
    public:
    //Default Constructor
    SubwaySystem();

    //Destructor 
    ~SubwaySystem();

    //Member variables 
    Track my_track[34];
    Station my_station[12];

    int count_routes; 
};



#endif

cpp

#include "subway.h"

SubwaySystem::SubwaySystem()
{
    my_track[0] = Track('a', 'b'); //error here 
    ...

}
4

1 に答える 1

2

2 つのパラメーターを受け入れるクラス Track のコンストラクターが表示されません。このため、コンパイラ エラーが発生します。クラス Track の 2 つのパラメーター コンストラクターを定義する必要があります。

于 2013-10-17T02:40:09.843 に答える