Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
NikitaQ
5 / 5 / 1
Регистрация: 10.09.2013
Сообщений: 51
#1

Передать двумерный массив функции - C++

22.11.2013, 23:13. Просмотров 275. Ответов 4
Метки нет (Все метки)

Скажите, пожалуйста, как я могу передать двумерный массив функции, которая с ним поработает, а потом вернет мне его?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int FirstTeamResult(int sizeOfMyArray,  int game[sizeOfMyArray][sizeOfMyArray], string firstLine) {
    int i,j=0;
    int check=0;
    int index;
    for (i=0; i<firstLine.length(); i++){
        if (firstLine[i] == ' ' && check>1) {
            check++;
            if (i!=index && check>1) {
                game[0][j] = stoi(firstLine.substr(index,i));
                index=i;
                j++;
            }
        }
    }
    return game[sizeOfMyArray][sizeOfMyArray];
}
Делаю так, а он мне ошибку
C++
1
2
3
4
5
Undefined symbols for architecture x86_64:
  "FirstTeamResult(int, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)", referenced from:
      _main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2013, 23:13     Передать двумерный массив функции
Посмотрите здесь:

Двумерный массив передать через **arr C++
Передать двумерный массив в функцию C++
C++ Как правильно передать в функцию указатель на двумерный массив?
C++ Передать двумерный массив в функцию
Передать двумерный массив указателей в функцию C++
C++ Разные способы подключения файла, или как еще можно передать функции двумерный массив?
Как передать в функцию двумерный динамический массив? C++
C++ Как передать массив (двумерный/одномерный вектор) в функцию C++?
Двумерный массив передать в функцию C++
Передать в функцию двумерный массив C++
C++ Как передать двумерный массив функции?
C++ Не могу передать двумерный массив в функцию

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
22.11.2013, 23:32     Передать двумерный массив функции #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Передавай не массив, а указатель на массив.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int FirstTeamResult(int sizeOfMyArray,  int** game[sizeOfMyArray][sizeOfMyArray], string firstLine) {
    int i,j=0;
    int check=0;
    int index;
    for (i=0; i<firstLine.length(); i++){
        if (firstLine[i] == ' ' && check>1) {
            check++;
            if (i!=index && check>1) {
                game[0][j] = stoi(firstLine.substr(index,i));
                index=i;
                j++;
            }
        }
    }
}
Добавлено через 2 минуты
И, насколько я знаю, return не может возвращать массивы.
reidaigo
6 / 6 / 0
Регистрация: 16.12.2012
Сообщений: 31
22.11.2013, 23:46     Передать двумерный массив функции #3
NikitaQ, тип возвращаемого значения у Вас отмечен как INT. В то же время вы пытаетесь вернуть значение типа CHAR в строке "return game[sizeOfMyArray][sizeOfMyArray];", так как в С++ вы указываете на первый элемент массива, а не массив в целом.
koldya
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 26
22.11.2013, 23:47     Передать двумерный массив функции #4
Функция не вернет тебе массив, по той причине что работает с массивом на прямую не создавая копий.
Abram_TA
1 / 1 / 0
Регистрация: 22.11.2013
Сообщений: 9
22.11.2013, 23:47     Передать двумерный массив функции #5
Функция не должна возвращать массив, так как при передаче массива фактически ты передаешь адрес для работы с ним. А также в списке параметров функции(там где ты пишешь что она принимает),размер двухмерного массива в первой можно и не указывать, а во второй обязательно.
Yandex
Объявления
22.11.2013, 23:47     Передать двумерный массив функции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru