मैं उस वर्ग की एक संपत्ति प्रारंभ करना चाहता हूं जिसमें किसी अन्य वर्ग का संदर्भ है जो इस तरह के संदर्भ को कन्स्ट्रक्टर के पैरामीटर के रूप में पास कर रहा हो। हालांकि मुझे एक त्रुटि प्राप्त होती है:कक्षा सदस्य प्रारंभिकरण के रूप में संदर्भ
"टैक्सक्वेयर :: बैंक 'को कन्स्ट्रक्टर बेस/सदस्य प्रारंभकर्ता सूची में प्रारंभ किया जाना चाहिए"। कक्षाओं के निम्नलिखित कोड में क्या गलत है?
#ifndef TAXSQUARE_H
#define TAXSQUARE_H
#include "Square.h"
class Bank;
class TaxSquare : public Square
{
public:
TaxSquare(int, int, Bank&);
virtual void process();
private:
int taxAmount;
Bank& bank;
};
#endif
#include <iostream>
#include "TaxSquare.h"
#include "Player.h"
#include "Bank.h"
using namespace std;
TaxSquare::TaxSquare(int anID, int amount, Bank& theBank) : Square(anID)
{
taxAmount = amount;
bank = theBank;
}
#ifndef BANK_H
#define BANK_H
class Bank
{
public:
Bank(int, int, int);
void getMoney(int);
void giveMoney(int);
void grantHouse();
void grantHotel();
private:
int sumMoney;
int numOfHouses;
int numOfHotels;
};
#endif
+1 "प्रारंभिक सूची में निर्दिष्ट चीजों को डिफ़ॉल्ट-प्रारंभिक नहीं मिलता है, और संदर्भों के लिए कोई डिफ़ॉल्ट-प्रारंभिकता नहीं है, क्योंकि उन्हें हमेशा कुछ संदर्भ देना चाहिए " –