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

Никак не могу исправить ошибку, задача на функции - C++

Восстановить пароль Регистрация
 
metaline
1 / 1 / 0
Регистрация: 09.03.2014
Сообщений: 8
17.03.2014, 22:42     Никак не могу исправить ошибку, задача на функции #1
Суть задачи. С помощью рекурсивной функции, не возвращающей значение, замените в данной строке все слова, начинающиеся с заглавной буквы, на многоточие.
Если делать задачу без прототипа функции (соответственно описание func стоит перед main), то все работает. А если так, то при компиляции - ошибка (34 строка):

In function `void func(std::string&, int)':
call of overloaded `func(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int)' is ambiguous
candidates are: void func(std::string, int)
void func(std::string&, int)

Вот весь код целиком. Помогите пожалуйста разобраться, заранее спасибо!
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <string>
using namespace std;
 
void func (string, int);
 
int main ()
{
    string str;
    cout<<"Enter string: ";
    getline (cin, str);
    func (str, 0);
    cout<<"New string: "<<str<<"\n";
    system ("pause");
    return 0;
}
 
void func (string &s, int pos)
{
     if (s[pos] == 0)
     return;
     int k  = s.find (" ", pos);
     if (k != string::npos)
     {
           if (isupper (s[pos]))
           s.replace ( pos, k - pos, "...");
     }
     else
     {
         k = s.length ();
         if (isupper (s[pos]))
         s.replace ( pos, k - pos, "...");
     }
     func (s, pos+1);                          
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2014, 22:42     Никак не могу исправить ошибку, задача на функции
Посмотрите здесь:

Никак не могу найти ошибку C++
Никак не могу найти ошибку, должен сосздать матрицу либо из звездочеку либо из пробелов C++
Не могу исправить ошибку в программе на С++ C++
Не могу найти\исправить ошибку C++
C++ никак не могу понять ошибку...
Никак не могу найти синтаксическую ошибку(посмотрите пожалуйста C++
Не могу никак найти ошибку C++
Классы. Не могу исправить ошибку C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
17.03.2014, 22:58     Никак не могу исправить ошибку, задача на функции #2
У вас в объявлении функции string, а в определении string&.

Добавлено через 1 минуту
C++
1
2
3
4
void func (string, int);
/* ... */
void func (string &s, int pos)
/* ... */
Приведите в соответствие.
Yandex
Объявления
17.03.2014, 22:58     Никак не могу исправить ошибку, задача на функции
Ответ Создать тему
Опции темы

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