访问类实例的成员时出错
Error when accessing members of an instance of a class
我正在学习c++,所以当我编译这个程序时,我很难修复错误。我要写一个小程序,它可以打印整型数组中的每个元素。例如,类NumberRange有两个参数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 {
我不知道错误的含义,我该如何修复这个程序?我想知道这个逻辑是否正确。有人能帮我吗?非常感谢。
NumberRange *numberrange;
numberrange->NumberRange (5, 9);
这不是你如何构造一个新的NumberRange
。
NumberRange *numberrange = new NumberRange(5, 9);
或者更好的是,避免多余的内存分配:
NumberRange numberrange(5, 9);
相关文章:
- 在成员dynamic_bitset上使用 boost::from_block_range 时出错,但在本地dynamic
- 将成员函数作为构造函数参数调用时出错 "Variable is not a type name"
- 在 Clang 中使用指向成员的指针时出错
- LNK2019 在文件中调用静态成员的方法时出错.cpp
- 当两个成员位于同一类中时出错"a nonstatic member reference must be relative to a specific object"
- 通过多个类访问成员时出错
- 将私有数据成员作为默认参数传递给该类的公共方法时出错
- 类和成员函数模板专用化出错
- 在VS2015中访问类成员时运行时错误,但在Linux上未访问时出错
- 缺少类型说明符 - int 假定 声明静态成员后出错
- 编译特征程序时出错:错误:'seq'不是'Eigen'的成员
- 调用指向成员函数的指针时出错
- 修改另一个类的向量成员时出错
- 向模板化静态成员初始化添加和不添加'typename'都会出错
- 非标准语法;使用 '&' 创建指向成员的指针错误,将成员函数分配给向量时出错
- 推导成员函数包装器的返回类型时出错
- 编译类模板成员函数时出错
- 在 C++ 中访问泛型结构的成员会出错
- 初始化作为结构成员的函数指针时出错
- 重载运算符时出错(必须是非静态成员函数)