'오류 : 상수가 아닌 참조의 잘못된 초기화'참조로 포인터 전달

Alberto

mergesort 알고리즘을 구현하려고하는데이 오류를 이해하지 못합니다.

error : 'int *'유형의 rvalue에서 'int * &'유형의 상수가 아닌 참조를 잘못 초기화했습니다.
Mergesort (v, 0, TAM-1);
___________________ ^

참고 : 'void Mergesort (int * &, int, int)'의 인수 1 초기화
void Mergesort (int * & v, int ini, int fin);
^

내 코드의 관련 부분 :

#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;

void Mergesort (int *&v, int ini, int fin);
void Fusion (int *&v, int ini, int centro, int fin);

int main(){
    const int TAM = 20;
    int v[TAM];

    time_t t;
    srand ((int) time(&t));

    const int MIN = -100, MAX=100, NUM_VALORES = MAX-MIN+1;

    for (int i = 0; i < TAM; i++){
        v[i] = (rand() % NUM_VALORES) + MIN;

    }

    ...

    Mergesort (v, 0, TAM - 1);

    ...

    return 0;
}

void Mergesort (int *&v, int ini, int fin){
    int centro;
    if (ini < fin){
        centro = (ini + fin) / 2;
        Mergesort (v, ini, centro);
        Mergesort (v, centro + 1, fin);
        Fusion (v, ini, centro, fin);
    }
}

void Fusion (int *&v, int ini, int centro, int fin){
    int aux[fin - ini + 1];
    int h, i, j, k;

    h = ini;
    i = ini;
    j = centro + 1;

    while ( (i <= centro) && (j <= fin) ){
        if (v[i] <= v[j]){
            aux[h] = v[i];
            i++;
        }else{
            aux[h] = v[j];
            j++;
        }
        h++;
    }

    if (i > centro){
        for (k = j; k <= fin; k++){
            aux[h] = v[k];
            h++;
        }
    }else{
        for (k = i; k <= centro; k++){
            aux[h] = v[k];
            h++;
        }
    }

    for (k = ini; k <= fin; k++){
        v[k] = aux[k];
    }
}

이 사이트에 유사한 오류에 대한 질문이 있다는 것을 알고 있지만 문제를 해결할 수 없습니다.

GokuMizuno

Mergesort (int * &, int, int)에서 * &를 *로 바꾸어 Mergesort (int *, int, int)로 만들었습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

상수가 아닌 유형 참조의 잘못된 초기화 오류

분류에서Dev

오류 : 'cv :: Mat &'유형의 상수가 아닌 참조의 잘못된 초기화

분류에서Dev

rvalue에서 상수가 아닌 참조의 잘못된 초기화

분류에서Dev

std :: _ Bit_rerefence & 유형의 상수가 아닌 참조의 잘못된 초기화

분류에서Dev

Visual C ++ 2015의 rvalue에서 상수가 아닌 참조의 잘못된 초기화

분류에서Dev

문자열이있는 메서드 호출시 오류 : 'size_t & 유형의 상수가 아닌 참조를 잘못 초기화했습니다.

분류에서Dev

Delphi에서 참조로 전달 된 포인터 (DLL에서 함수 가져 오기)

분류에서Dev

''유형의 rvalue에서 ''유형의 상수가 아닌 참조를 잘못 초기화했습니다.

분류에서Dev

r 값 참조로 추론 된 참조 전달이 아닌가요?

분류에서Dev

참조로 전달 된 인수를받는 비동기 함수의 벡터

분류에서Dev

정의 된 구조체의 포인터 초기화를 전역 변수로 가져 오기

분류에서Dev

포인터를 기대하는 함수에 역 참조 된 포인터 (즉, 값으로) 전달

분류에서Dev

역 참조 된 포인터에서 원래 포인터로 돌아 가기

분류에서Dev

참조로 포인터를 전달할 때 오류

분류에서Dev

함수에 대한 참조가 아닌 반복기 값 전달

분류에서Dev

C ++ : " 'List *'임시 유형에서 'List &'유형의 상수가 아닌 참조 초기화가 잘못되었습니다."

분류에서Dev

참조로 동적 변수의 포인터 전달

분류에서Dev

참조로 전달 된 스마트 포인터가 nullptr 일 수 있습니까?

분류에서Dev

함수를 매개 변수로 사용하는 C ++ 오류입니다. 상수가 아닌 참조의 초기 값은 lvalue 여야합니다.

분류에서Dev

포인터 오류에 대한 참조 : 상수가 아닌 lvalue 참조 "const * FooBarClass"는 임시에 바인딩 할 수 없습니다.

분류에서Dev

오류 : 'Layer'유형의 표현식에서 'LineLayer &'유형의 참조 초기화가 잘못되었습니다.

분류에서Dev

함수의 포인터로 배열 구조 전달 및 초기화

분류에서Dev

참조로 포인터를 전달하려고 할 때이 오류가 발생합니다.

분류에서Dev

동적 배열의 잘못된 초기화로 인해 읽기 및 쓰기 오류가 발생합니다.

분류에서Dev

여기에 참조로 포인터를 전달하면 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

포인터 / 참조를 변수로 매개 변수로 전달

분류에서Dev

함수 배열 및 세분화 오류-잘못된 메모리 참조

분류에서Dev

Swift : 에뮬레이터가 아닌 기기의 전제 조건 오류?

분류에서Dev

C ++ 03에서 인수로 전달 된 구조체의 익명 (?) 초기화

Related 관련 기사

  1. 1

    상수가 아닌 유형 참조의 잘못된 초기화 오류

  2. 2

    오류 : 'cv :: Mat &'유형의 상수가 아닌 참조의 잘못된 초기화

  3. 3

    rvalue에서 상수가 아닌 참조의 잘못된 초기화

  4. 4

    std :: _ Bit_rerefence & 유형의 상수가 아닌 참조의 잘못된 초기화

  5. 5

    Visual C ++ 2015의 rvalue에서 상수가 아닌 참조의 잘못된 초기화

  6. 6

    문자열이있는 메서드 호출시 오류 : 'size_t & 유형의 상수가 아닌 참조를 잘못 초기화했습니다.

  7. 7

    Delphi에서 참조로 전달 된 포인터 (DLL에서 함수 가져 오기)

  8. 8

    ''유형의 rvalue에서 ''유형의 상수가 아닌 참조를 잘못 초기화했습니다.

  9. 9

    r 값 참조로 추론 된 참조 전달이 아닌가요?

  10. 10

    참조로 전달 된 인수를받는 비동기 함수의 벡터

  11. 11

    정의 된 구조체의 포인터 초기화를 전역 변수로 가져 오기

  12. 12

    포인터를 기대하는 함수에 역 참조 된 포인터 (즉, 값으로) 전달

  13. 13

    역 참조 된 포인터에서 원래 포인터로 돌아 가기

  14. 14

    참조로 포인터를 전달할 때 오류

  15. 15

    함수에 대한 참조가 아닌 반복기 값 전달

  16. 16

    C ++ : " 'List *'임시 유형에서 'List &'유형의 상수가 아닌 참조 초기화가 잘못되었습니다."

  17. 17

    참조로 동적 변수의 포인터 전달

  18. 18

    참조로 전달 된 스마트 포인터가 nullptr 일 수 있습니까?

  19. 19

    함수를 매개 변수로 사용하는 C ++ 오류입니다. 상수가 아닌 참조의 초기 값은 lvalue 여야합니다.

  20. 20

    포인터 오류에 대한 참조 : 상수가 아닌 lvalue 참조 "const * FooBarClass"는 임시에 바인딩 할 수 없습니다.

  21. 21

    오류 : 'Layer'유형의 표현식에서 'LineLayer &'유형의 참조 초기화가 잘못되었습니다.

  22. 22

    함수의 포인터로 배열 구조 전달 및 초기화

  23. 23

    참조로 포인터를 전달하려고 할 때이 오류가 발생합니다.

  24. 24

    동적 배열의 잘못된 초기화로 인해 읽기 및 쓰기 오류가 발생합니다.

  25. 25

    여기에 참조로 포인터를 전달하면 오류가 발생하는 이유는 무엇입니까?

  26. 26

    포인터 / 참조를 변수로 매개 변수로 전달

  27. 27

    함수 배열 및 세분화 오류-잘못된 메모리 참조

  28. 28

    Swift : 에뮬레이터가 아닌 기기의 전제 조건 오류?

  29. 29

    C ++ 03에서 인수로 전달 된 구조체의 익명 (?) 초기화

뜨겁다태그

보관