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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
jam
0 / 0 / 0
Регистрация: 27.08.2008
Сообщений: 3
#1

Неправильное объявление или вызов подпрограмм - C++

27.08.2008, 12:03. Просмотров 1974. Ответов 4
Метки нет (Все метки)

Приветствую Вас форумчане, помогите разобраться с кодом, недавно начал изучать с++ - вот решил накропать программку по обработке CDR-файлов
Идея : при запуске юзер должен ввести часть имени файла а прога уже сама по этому шаблону выбирает файлы читает из них нужные данные копит чего нужно потом выводит на экран. Соответственно есть подпрограмма func1 которая занимается вормирование полного имени файла по шаблону и сформировав вызывает из себя подпрогр. func2 - которая уже читает файл переданной ей в качестве аргумента, ну а func1 вызывается из main.
Прога примерно следующая

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// #include -всякие нужные
 
void func1(string); // прототипы функций
void func2(string);
void display();
 
void main(void){
using namespace std;
string filename;
cin >> filename; //ввожу  имя файла
func1(filename);
}
 
void func1(&filename)
{ //немного изменяю filename 
func2(filename);
}
 
void func2(&filename)
{
//открываю файл filename - читаю - обрабатываю - запоминаю в переменные
// что бы потом их напечатать вызовом подпрограммы display()
return; 
}
компилятор g++

Но при компиляции выдаются ошибки типа

error: variable or field 'func1' declared void
error: 'string' was not declared in this scope

error: variable or field 'func2' declared void
error: 'string' was not declared in this scope

Мож я не так описал функции или вызываю их не правильно? Помогите пожалуйста разобраться.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2008, 12:03     Неправильное объявление или вызов подпрограмм
Посмотрите здесь:
C++ Аналог меню. Вызов подпрограмм
Объявление и вызов функций? C++
Явный вызов и объявление статических полей C++
Объявление, определение и вызов двух функций C++
C++ Объявление класса, создание объекта и вызов функции-члена
Неправильное приведение типов или как? C++
C++ Неправильное преобразование или не понимаю компилятор((
C++ Неправильное перевыделение
Неправильное выполнение программы C++
C++ неправильное значение переменной
Неправильное чтение из файла C++
Неправильное отображение в консоли C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
oxotnik
1586 / 1063 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
27.08.2008, 12:15     Неправильное объявление или вызов подпрограмм #2
C++
1
2
3
4
5
6
7
8
9
10
void func1([B]std[/B]::string); // прототипы функций
void func2([B]std[/B]::string);
void display([B]void[/B]);
 
void func2(&filename)
{
//открываю файл filename - читаю - обрабатываю - запоминаю в переменные
// что бы потом их напечатать вызовом подпрограммы display()
return; // нахрена???
}
jam
0 / 0 / 0
Регистрация: 27.08.2008
Сообщений: 3
27.08.2008, 13:15  [ТС]     Неправильное объявление или вызов подпрограмм #3
поправил, но тогда другие ошибки вылазят типа

error: variable or field 'func1' declared void
'int func1' redeclared as different kind of symbol
previous declaration of 'void func1(std::string)'

ну и тож самое с func2, хотя на самом деле строки на которые указывает ошибка - это описание собственно функций func1 и func2 (т.е. void func1(string &filename) {bla bla bla;})
oxotnik
1586 / 1063 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
27.08.2008, 14:05     Неправильное объявление или вызов подпрограмм #4
C++
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
#include <string>
#include <iostream>
 
using namespace std;
 
void func1(string); 
void func2(string);
void display();
 
void main(void){
 
string filename;
cin >> filename; //ââîæó  ГЁГ¬Гї ГґГ*éëГ*
func1(filename);
}
 
void func1(string &filename)
{ 
func2(filename);
}
 
void func2(string &filename)
{
//открываю файл filename - читаю - обрабатываю - запоминаю в переменные
// что бы потом их напечатать вызовом подпрограммы display()
 
return; 
}
вот так Борланд и Вижуал компилит без проблем
jam
0 / 0 / 0
Регистрация: 27.08.2008
Сообщений: 3
27.08.2008, 14:11  [ТС]     Неправильное объявление или вызов подпрограмм #5
везёт Вам, а мой g++ слишком привередливый
Yandex
Объявления
27.08.2008, 14:11     Неправильное объявление или вызов подпрограмм
Ответ Создать тему
Опции темы

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