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

Передача в функцию - C++

Восстановить пароль Регистрация
 
angryjack93
7 / 3 / 1
Регистрация: 04.11.2012
Сообщений: 218
04.05.2013, 17:32     Передача в функцию #1
вот есть такие строки кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
typedef vector< vector<char> > string_sound;
void sound_func(string_sound &text_sound, int sum_words)
{
    conson = consonants(text_sound[j][i+1], text_sound[j][i+2]);
}
 
int consonants(char symb_2, char symb_3){       //функция проверки на открытость слога
    int conson = 0;
    for(int k = 0; k < 20; k++){
        if(symb_2 == consonants[k]){
            for(int g = 0; g < 20; g++){
                if(symb_3 == consonants[g]){        //послеследующий символ согласный, значит слог закрытый
                    conson = 1;
                    break;
                }
            }
            if(conson != 1){conson = 2; break;}         //послеследующая гласная, значит слог открытый
        }
        if(conson != 0) break;
    }
    return conson;
}
Пишет, что нельзя сравнивать symb_2 и symb_3. Почему и как исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2013, 17:32     Передача в функцию
Посмотрите здесь:

передача в функцию C++
C++ Передача файла в функцию
Передача двухмерного массива из функцию в функцию C++
Передача строки в функцию C++
Передача в функцию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
04.05.2013, 17:44     Передача в функцию #2
можно или нельзя зависит от типа выражения consonants[k].
если для этого типа определен оператор сравнения с чаром - то все ок, если нет то не ок.
ну или преобразования там всякие. из кода непонятно, что за тип у consonants и у consonants[k]

ээээ, похоже consonants - это вообще функция.
ну а в коде это как указатель на функцию. а consonants[k] - даже не знаю что тогда. можно ли так с указателями на фунции делать.
в любом случае код кривой.
angryjack93
7 / 3 / 1
Регистрация: 04.11.2012
Сообщений: 218
04.05.2013, 17:56  [ТС]     Передача в функцию #3
исправил ту ошибку, но появилась другая
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int consonants(char symb_2, char symb_3){       //функция проверки на открытость слога
    int conson = 0;
    char consonan[20] = "bcdfghklmnprstvwxyz"; 
    for(int k = 0; k < 20; k++){
        if(symb_2 == consonan[k]){
            for(int g = 0; g < 20; g++){
                if(symb_3 == consonan[g]){      //послеследующий символ согласный, значит слог закрытый
                    conson = 1;
                    break;
                }
            }
            if(conson != 1){conson = 2; break;}         //послеследующая гласная, значит слог открытый
        }
        if(conson != 0) break;
    }
    return conson;
}
multiple definition of `consonants(char, char)'
first defined here

Как их убрать?
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
04.05.2013, 17:59     Передача в функцию #4
ну несколько определений consonants(char, char).
должно быть одно. что тут непонятного.
angryjack93
7 / 3 / 1
Регистрация: 04.11.2012
Сообщений: 218
04.05.2013, 18:18  [ТС]     Передача в функцию #5
Цитата Сообщение от DU Посмотреть сообщение
ну несколько определений consonants(char, char).
должно быть одно. что тут непонятного.
Я честно ничего не понял
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11814 / 6793 / 769
Регистрация: 27.09.2012
Сообщений: 16,861
Записей в блоге: 2
Завершенные тесты: 1
04.05.2013, 18:19     Передача в функцию #6
Функция случайно не в header'е определена?
angryjack93
7 / 3 / 1
Регистрация: 04.11.2012
Сообщений: 218
04.05.2013, 19:20  [ТС]     Передача в функцию #7
Цитата Сообщение от Croessmah Посмотреть сообщение
Функция случайно не в header'е определена?
нет, просто в отдельном файле, а файл в с расширением .cpp
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11814 / 6793 / 769
Регистрация: 27.09.2012
Сообщений: 16,861
Записей в блоге: 2
Завершенные тесты: 1
04.05.2013, 23:31     Передача в функцию #8
Цитата Сообщение от angryjack93 Посмотреть сообщение
нет, просто в отдельном файле, а файл в с расширением .cpp
Надеюсь, нигде нет такого кода:
C++
1
#include "myfile.cpp"
Добавлено через 53 секунды
Ошибка multiple definition of `consonants(char, char)' означает, что consonants определена несколько раз
angryjack93
7 / 3 / 1
Регистрация: 04.11.2012
Сообщений: 218
05.05.2013, 08:28  [ТС]     Передача в функцию #9
Цитата Сообщение от Croessmah Посмотреть сообщение
Надеюсь, нигде нет такого кода:
C++
1
#include "myfile.cpp"
Добавлено через 53 секунды
Ошибка multiple definition of `consonants(char, char)' означает, что consonants определена несколько раз
Есть такой код но если же убрать, то как файл подключить?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2013, 09:21     Передача в функцию
Еще ссылки по теме:

C++ Передача объекта в функцию или функцию друга
C++ Передача вектора в функцию
Передача массива в функцию используя указатель на функцию C++

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11814 / 6793 / 769
Регистрация: 27.09.2012
Сообщений: 16,861
Записей в блоге: 2
Завершенные тесты: 1
05.05.2013, 09:21     Передача в функцию #10
Цитата Сообщение от angryjack93 Посмотреть сообщение
но если же убрать, то как файл подключить?
прототипы функций в заголовочный файл и уже заголовочный файл подключайте. Или в каждом cpp, где нужны эти функции, описывайте их прототипы.
Yandex
Объявления
05.05.2013, 09:21     Передача в функцию
Ответ Создать тему
Опции темы

Текущее время: 13:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru