Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
angryjack93
7 / 3 / 1
Регистрация: 04.11.2012
Сообщений: 218
#1

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

04.05.2013, 17:32. Просмотров 349. Ответов 9
Метки нет (Все метки)

вот есть такие строки кода:
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. Почему и как исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2013, 17:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача в функцию (C++):

Передача объекта в функцию или функцию друга - C++
Здравствуйте, уважаемые программисты :) К примеру есть такой код. #include &lt;iostream&gt; using namespace std; class My_Class1 { ...

Передача указателя на шаблонную функцию в другую функцию - C++
Пишу тест для нескольких улучшений квиксорта с измерением времени. Функция benchmark принимает итераторы для диапазона элементов, указатель...

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

Передача двухмерного массива из функцию в функцию - C++
Допустим у меня есть функция, в которой &quot;генерируется&quot; массив. Но нужно его передать в другую функцию, которая его выведет на экран. ...

Передача в функцию - C++
компилятор ругается на int sumcolumn (int **a, int n) sumcolumn(a,m) почему не могу передать массив i*1, таким образом? ...

Передача файла в функцию - C++
Что я делаю не так: #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;map&gt; #include &lt;string&gt; #include &lt;fstream&gt; #include...

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

ээээ, похоже consonants - это вообще функция.
ну а в коде это как указатель на функцию. а consonants[k] - даже не знаю что тогда. можно ли так с указателями на фунции делать.
в любом случае код кривой.
1
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

Как их убрать?
0
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
04.05.2013, 17:59 #4
ну несколько определений consonants(char, char).
должно быть одно. что тут непонятного.
0
angryjack93
7 / 3 / 1
Регистрация: 04.11.2012
Сообщений: 218
04.05.2013, 18:18  [ТС] #5
Цитата Сообщение от DU Посмотреть сообщение
ну несколько определений consonants(char, char).
должно быть одно. что тут непонятного.
Я честно ничего не понял
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
04.05.2013, 18:19 #6
Функция случайно не в header'е определена?
0
angryjack93
7 / 3 / 1
Регистрация: 04.11.2012
Сообщений: 218
04.05.2013, 19:20  [ТС] #7
Цитата Сообщение от Croessmah Посмотреть сообщение
Функция случайно не в header'е определена?
нет, просто в отдельном файле, а файл в с расширением .cpp
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
04.05.2013, 23:31 #8
Цитата Сообщение от angryjack93 Посмотреть сообщение
нет, просто в отдельном файле, а файл в с расширением .cpp
Надеюсь, нигде нет такого кода:
C++
1
#include "myfile.cpp"
Добавлено через 53 секунды
Ошибка multiple definition of `consonants(char, char)' означает, что consonants определена несколько раз
0
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 определена несколько раз
Есть такой код но если же убрать, то как файл подключить?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
05.05.2013, 09:21 #10
Цитата Сообщение от angryjack93 Посмотреть сообщение
но если же убрать, то как файл подключить?
прототипы функций в заголовочный файл и уже заголовочный файл подключайте. Или в каждом cpp, где нужны эти функции, описывайте их прототипы.
1
05.05.2013, 09:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2013, 09:21
Привет! Вот еще темы с ответами:

Передача вектора в функцию. - C++
Сабж. #include &lt;iostream&gt; #include &lt;vector.h&gt; void show (); // ? int main () { vector &lt;int&gt;...

Передача массива в функцию. - C++
Подскажите пожалуйста! Нужно считать текстовый файл в массив и найти в нем какой-нибудь символ; вернуть номер элемента в массиве. Поиск...

Передача char в функцию - C++
Привет всем! Помогите, что неправильно: есть функция void send_new_object(char *g, char *h, int j) { char name_nach_punkta = *g; ...

Передача в функцию char** - C++
Здравствуйте! Подскажите как передавать в функцию void переменную char**, а то ошибку пишет что нельзя так передавать Объявление самого...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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