Задать вопрос
Ответы пользователя по тегу Java
  • Перевод из C на Java. Указатели?

    kostik450
    @kostik450
    Вот это место
    int decode(int correct_mode, int *errs, unsigned long *cw)

    сделать так:
    public int[] decode(int correct_mode, int errs, int cw);

    Соответственно внутри функции везде вместо
    *errs и *cs
    сделать без звезд, то есть так:
    errs и cs

    ну и в конце функции, там где return(2), возвращаем так:
    int[] arr = int long[3];
    arr[1]=2;
    arr[1]=errs;
    arr[2]=cs;
    return arr;
    return 0 и return 1 аналогично.

    А вызов оформляем так:
    int[] arr = decode(correct_mode, errs, cw);
    result = arr[0];
    errs = arr[1];
    cw = arr[2];
    Вроде бы ничего не забыл.

    Короче, возвращаем результат в виде массива, а потом десериализируем массив.
    Можно, кстати и изначально в виде массива передавать,
    внутри этот массив «курочить» и возвращать его же как результат.

    А можно и вообще ничего не передавать и не возвращать, все внутри класса, то есть в итоге мы придем к тому, что написал уважаемый Maccimo в варианте a)

    Но если стоит задача тупо переписать код С++ на Java без рефакторинга, то мой метод более идеален.
    Ответ написан
    3 комментария