ホテルを管理するクラスのプログラムを作成しています。このReport1機能は、占有されているすべての部屋と、各部屋にいる顧客を一覧表示する機能です。私はコードが書かれているが、私の入れ子になったFORループの条件文にエラーが発生しています。コンパイラが下線を引いていますiRoomループ内...........(int j = 0; j < iRoom .customerIDinRoom ..... iRoom式には、私は(タイプルームの)ループの最初でそれを宣言したときに、クラスの種類が、私はどれsuggestioins。それをクラス型を与えた?エラー:式にはクラスタイプが必要ですか?
string Hotel::Report1()
{
string result;
for(int i=0;i<listofrooms.size();i++)
{
Room iRoom = listofrooms.get(i);
result+= padLeft(intToString(iRoom.roomID),' ',8)+" "+
padRight(iRoom.name,' ',20) + " "+
padLeft(intToString(iRoom.floor),' ',8) + " " +
padLeft(intToString(iRoom.number),' ',8) + " " +
padLeft(intToString(iRoom.basePriceInSeason),' ',8) + " " +
padLeft(intToDollarString(iRoom.basePriceOutOfSeason),' ',8) + "\n";
for(int j = 0; j < iRoom.customerIDinRoom.size(); j++)
{
int cusID= iRoom.customerIDinRoom[j];
Customer & cus = listofcustomers.getByID(cusID);
result+= padLeft(intToString(cus.customerID),' ',18)+" "+
padRight(cus.name,' ',20) + " "+
padRight(cus.phoneNumber,' ',10) + " " +
padRight(cus.ccNumber,' ',20) + "\n";
}
}
return result;
}
これは、ルームクラスの宣言
#include <iostream>
#include <string>
using namespace std;
class Hotel;
class ListOfRooms;
class Room
{
friend class ListOfRooms;
friend class Hotel;
public:
Room(string n,int flo,int num,int bpin, int bpos);
Room();
void addCusID(int cusID){customerIDinRoom = cusID;}
void removeCustomerID(int cusID) { customerIDinRoom = 0;}
private:
string name; //BUILDING
int floor;
int number;
int basePriceInSeason;
int basePriceOutOfSeason;
int roomID;
int customerIDinRoom; //not pushback, will be assignment
};
ここにクラス宣言を入れることができますか? – littleadv
'iRoom.customerIDinRoom [i] .size();'?タイプなどを知らなくてもわかりません –
@littleadv私はそれを – Mike