Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么这个抛出acces违例异常?_C++_Oop - Fatal编程技术网

C++ 为什么这个抛出acces违例异常?

C++ 为什么这个抛出acces违例异常?,c++,oop,C++,Oop,我的这行代码引发异常: (引发未处理的异常:写入访问冲突。 此->v为0x443E112) 在下面的函数中: void NagyEgesz::eltolJobbra(int k) { this->n = this->n + k; for (int i = n-1; i >= k ; i++) { v[i] = v[i - k]; } for (int j = 0; j < k; j+

我的这行代码引发异常: (引发未处理的异常:写入访问冲突。 此->v为0x443E112)

在下面的函数中:

void NagyEgesz::eltolJobbra(int k) {
        this->n = this->n + k;

        for (int i = n-1; i >= k ; i++) {
            v[i] = v[i - k];
        }
        for (int j = 0; j < k; j++) {
            v[j] = 0;
        }

这看起来像一个相反顺序的循环:

for (int i = n-1; i >= k ; i++) {
因此,您应该将
i++
替换为
i--


今后发现类似问题的提示:
写入访问冲突
通常意味着数组索引中的键入错误

请发布一个。您给出的代码不完整。例如,您没有显示分配
v
数组的位置。
class NagyEgesz{

    int *v;
    int n;
    int elojel;

public:

    NagyEgesz();
    NagyEgesz(int elojel, int n, const int* szamjegyek);
    NagyEgesz(const NagyEgesz &x);
    ~NagyEgesz() {
        delete v;
    }
    void kiir();
    void eltolJobbra(int k);
    NagyEgesz osszead(const NagyEgesz &x);

};
for (int i = n-1; i >= k ; i++) {