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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить наименьшее значение каждой строки матрицы и вывести на экран http://www.cyberforum.ru/cpp-beginners/thread1122277.html
Такая ситуация В технаре обучают С++. Практически всё нужно учить самостоятельно , ибо хреново учат.Тут дали задание на массивы ,но не объяснили темы.Помогите пожалуйста с выполнением задания, а я уже на примере попытаюсь понять. Задание: Нужно ввести действительную матрицу m x n ( где m,n мы сами задаём), далее нужно вводить числа в заданный размер матрицы и далее программа должна из...
C++ посмотрите пожалуйста почему она не работает я переводил с паскаля на с++ program laboratorna1; uses crt; type ar=array of real; var j,n,i:integer; a:ar; s:real; function taras(n:integer; a:ar):real; var i:integer; s:real; http://www.cyberforum.ru/cpp-beginners/thread1122273.html
C++ Нужна хорошая книжка по ООП, раскрывающая работу с потоками
Привет! Не подскажите хорошую книгу по ООП, особенно интересен вопрос ,создания многопоточного приложения(какой-нибудь игры и т.д). Заранее спасибо!
В одномерных массивах Х и Y одинакового размера n хранятся координаты n точек плоскости. Определить, сколько треугольников с вершинами в данных точках C++
В одномерных массивах Х и Y одинакового размера n хранятся координаты n точек плоскости. Определить, сколько треугольников с вершинами в данных точках можно построить. Не знаю как исправить ошибку, скорей всего в функцие. Помогите пожалуйста. #include "stdafx.h" #include <iostream> #include <stdlib.h> #include <time.h> using namespace std; double trg (int x1,int y1,int x2,int y2,int...
C++ Как скопировать массив? http://www.cyberforum.ru/cpp-beginners/thread1122262.html
Как скопировать двумерный массив в одномерный?
C++ Нарисовать паравоз На С++ нарисовать паравоз(картинку).. Помогите с координатами,,очень нужно! подробнее

Показать сообщение отдельно
metaline
1 / 1 / 0
Регистрация: 09.03.2014
Сообщений: 8
17.03.2014, 22:42     Никак не могу исправить ошибку, задача на функции
Суть задачи. С помощью рекурсивной функции, не возвращающей значение, замените в данной строке все слова, начинающиеся с заглавной буквы, на многоточие.
Если делать задачу без прототипа функции (соответственно описание 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);                          
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru