无法从私有数据部分访问矢量
Not able to access a vector from private data section?
我有一个C++任务,可以在C++中创建一个更随机的随机数生成器.com。
每次尝试访问私有数据部分中的向量时,我都会收到错误消息,但我不知道为什么?
我还使用我们单独创建的复杂 Double 和 Integer 类。
头文件:
#ifndef RANDOM
#define RANDOM
#include "Double.h"
#include "Integer.h"
#include <vector>
#include <iostream>
#include <time.h>
const int VECT_SIZE =250;
const int PERCENT = 225;
class Random
{
private:
std::vector<double> vect(int(VECT_SIZE));
void fillVect(double min, double max);
void shuffle();
int index;
public:
Random(); // Default constructor
Random(double min, double max);
Random(Double min, Double max);
Random(int min, int max);
Random(Integer min, Integer max);
Random(int seed); //seed the random number generator
int nextInt(); // Returns the next random number as an int
double nextDbl();
void setRange(double min, double max);
Integer nextInteger();
Double nextDouble();
};
#endif
主类中似乎有错误的部分:
void Random::fillVect(double min, double max)
{
for(int i = 0; i < VECT_SIZE; i++)
{
this->vect.push_back((((double)rand()/(double)RAND_MAX)*(max - min)) + min);
}
shuffle();
}
void Random::shuffle()
{
index =0;
for (int i = 0; i <100; i++)
{
int r = rand() % VECT_SIZE;
this->vect.push_back(vect[r]);
}
}
主类中似乎有错误的部分:
Random::Random(double min, double max)
{
vect.clear();
fillVect(min, max);
}
主类中似乎有错误的部分:
double Random::nextDbl()
{
if(index>PERCENT)
{
this->shuffle();
}
index++;
return this->vect[index];
}
这被称为最烦人的解析。
您的vect
声明当前是采用int
并返回vector<double>
的函数的声明。大多数(所有?)优秀的编译器应该对此发出警告,以及可能的解决方案。
将声明更改为:
std::vector<double> vect = std::vector<double>(int(VECT_SIZE));
相关文章:
- 在类 A 中创建类型为 B 类的向量 - 访问数据 [C++] [成员在两个类中都是私有的]
- C++ 11 中的锁定是否保证访问数据的新鲜度?
- 访问数据成员(本身是对象)的数据成员,就好像它们是类成员一样
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?
- 向量下标出的范围错误.即使向量的索引大于访问数据的索引,也会发生误差
- 通过指针访问数据(重新解释转换)与 .或 ->运算符
- C Koala图库 - 了解访问数据结构的语法
- CAFFE C - 其他层中的访问数据
- C++ 访问数据的链表实现
- 基于两个程序之间的事件触发器访问数据(内存)
- 引用本地可访问数据的正当理由
- 函数调用不起作用,矢量访问数据
- BMP 文件,访问数据
- 如何从其他类访问数据私有内部类
- 如何从双精度向量的向量访问数据
- 从 Vector3f 访问数据
- 从文件访问数据
- 如何在进程已经在访问数据结构时修改数据结构
- 如何从 GMemoryOutputStream 访问数据
- 使用 ostream 从另一个类的结构访问数据