私は小さなヒストグラムクラスに取り組んでいますが、何かが私を悩ませています。これはコードです:
class cHistogram{
public:
cHistogram();
cHistogram(int x);
friend ostream& operator<<(ostream& ost, cHistogram& obj);
int operator()(const unsigned int n){return niz[n];};
int operator [](const unsigned int n){return niz[n]++;};
private:
int niz[100];
int total;
};
int main() {
cHistogram h(100);
while(true){
unsigned int n;
std::cin >> n;
if(0 == n) break;
h[n]++;
}
std::cout << h;
}
問題は、コンパイルしようとするh[n]
と、変更可能な左辺値でなければならないということです。ここでそれをどうすればいいのかよくわかりません...どんな意見でも大歓迎です! :)