Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
7 / 3 / 2
Регистрация: 04.11.2012
Сообщений: 218
1

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

04.05.2013, 17:32. Просмотров 487. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2013, 17:32
Ответы с готовыми решениями:

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

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

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

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

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

ээээ, похоже consonants - это вообще функция.
ну а в коде это как указатель на функцию. а consonants[k] - даже не знаю что тогда. можно ли так с указателями на фунции делать.
в любом случае код кривой.
1
7 / 3 / 2
Регистрация: 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
1492 / 1138 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
04.05.2013, 17:59 4
ну несколько определений consonants(char, char).
должно быть одно. что тут непонятного.
0
7 / 3 / 2
Регистрация: 04.11.2012
Сообщений: 218
04.05.2013, 18:18  [ТС] 5
Цитата Сообщение от DU Посмотреть сообщение
ну несколько определений consonants(char, char).
должно быть одно. что тут непонятного.
Я честно ничего не понял
0
Грамотный. Безпорно.
16618 / 9657 / 1863
Регистрация: 27.09.2012
Сообщений: 23,955
Записей в блоге: 2
04.05.2013, 18:19 6
Функция случайно не в header'е определена?
0
7 / 3 / 2
Регистрация: 04.11.2012
Сообщений: 218
04.05.2013, 19:20  [ТС] 7
Цитата Сообщение от Croessmah Посмотреть сообщение
Функция случайно не в header'е определена?
нет, просто в отдельном файле, а файл в с расширением .cpp
0
Грамотный. Безпорно.
16618 / 9657 / 1863
Регистрация: 27.09.2012
Сообщений: 23,955
Записей в блоге: 2
04.05.2013, 23:31 8
Цитата Сообщение от angryjack93 Посмотреть сообщение
нет, просто в отдельном файле, а файл в с расширением .cpp
Надеюсь, нигде нет такого кода:
C++
1
#include "myfile.cpp"
Добавлено через 53 секунды
Ошибка multiple definition of `consonants(char, char)' означает, что consonants определена несколько раз
0
7 / 3 / 2
Регистрация: 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
Грамотный. Безпорно.
16618 / 9657 / 1863
Регистрация: 27.09.2012
Сообщений: 23,955
Записей в блоге: 2
05.05.2013, 09:21 10
Цитата Сообщение от angryjack93 Посмотреть сообщение
но если же убрать, то как файл подключить?
прототипы функций в заголовочный файл и уже заголовочный файл подключайте. Или в каждом cpp, где нужны эти функции, описывайте их прототипы.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2013, 09:21

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Передача в функцию
Правильно ли я передаю arg в функцию listInsert? Нет возможности проверить. Ниже структура и фунция...

Передача в функцию
компилятор ругается на int sumcolumn (int **a, int n) sumcolumn(a,m) почему не могу...

Передача переменной в функцию
Здравствуйте. Подскажите пожалуйста как сделать следующее: есть класс: #pragma once #include...

Передача массива в функцию
Здравствуйте! Подскажите, пожалуйста, как правильно сделать инициализацию и вывод массива двумя...


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

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

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