私はこのプログラムをコンパイルするときにエラーを修正するのが難しいので、C++を学んでいます。私はint配列のすべての要素を出力できる小さなプログラムを書くつもりです。たとえば、クラスNumberRangeには2つの引数aとbがあり、aが5でbが9の場合、コンストラクタは配列を割り当て、その順序で5,6,7,8,9の値を入力します。私は以下の私のコードを持っている: ヘッドファイルNumberRange.h
クラスのインスタンスのメンバーにアクセスするときにエラーが発生する
class NumberRange {
public:
NumberRange(int a, int b);
virtual ~NumberRange();
void Print(int a, int b);
private:
int *range_;
int size;
};
の.ccファイルNumberRange.cc
は次のとおりです。
#include <iostream>
#include "numberrange.h"
using namespace std;
NumberRange::NumberRange(int a, int b) {
if (a > b) {
cout << "a must be equal or less than b" << endl;
}
}
NumberRange::~NumberRange() {
//implementation
}
void NumberRange::Print(int a, int b) {
this->size = b - a + 1;
this->range_[0] = a;
for (int i = 0; i < this->size; i++) {
this->range_[i] = a + i;
cout << this->range_[i] << endl;
}
}
int main() {
NumberRange *numberrange;
numberrange->NumberRange (5, 9);
numberrange->Print(5,9);
}
そして、私はプログラムのコンパイル時に、私はエラーを得た: cannot refer to type member 'NumberRange' in 'NumberRange' with '->' numberrange->NumberRange (5, 9);
member 'NumberRange' declared here class NumberRange {
を
エラーの意味とその方法は分かりませんこのプログラムを修正できますか?私は論理が正しいかどうか疑問に思います。誰も私を助けることができるのですか?どうもありがとうございます。
を。 – pingul
基礎を学ぶために本を拾いたいかもしれません:http://stackoverflow.com/q/388242/1025391 – moooeeeep