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

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

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

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

27.08.2008, 12:03. Просмотров 2132. Ответов 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

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

Аналог меню. Вызов подпрограмм - C++
Задали тут сделать обобщающую программку,где все лабы запускаются из меню по выбору.После того как какая-нибудь программа выполнена она...

Объявление и вызов функций? - C++
Из двух книжек ни фига не понял как вызывать эти чёртовы функции, а без них никуда. Помогите пожалуйста. в этом примере: ...

Явный вызов и объявление статических полей - C++
1) Как сделать невозможным явный вызов деструктора и операторов? class MyClass { private : int _n; public : MyClass(int...

Объявление, определение и вызов двух функций - C++
//Программа должна включать в себя: объявление, определение и демонстрацию работы через вывозов двух функций : //а) Аргументы:...

Объявление класса, создание объекта и вызов функции-члена - C++
Всем добрый день! Вот так я объявляю класс. typedef map<string, double> datablock; typedef map<string, string> groupvars; ...

Неправильное приведение типов или как? - C++
Короче вот код void CMyDialog::OnBnClickedButtonEdit() { double number ; CString t; number= (t_f+t_o+t_m+t_d+t_b+t_i+t_s)/7; ...

4
oxotnik
1591 / 1068 / 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; // нахрена???
}
0
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;})
0
oxotnik
1591 / 1068 / 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; 
}
вот так Борланд и Вижуал компилит без проблем
0
jam
0 / 0 / 0
Регистрация: 27.08.2008
Сообщений: 3
27.08.2008, 14:11  [ТС] #5
везёт Вам, а мой g++ слишком привередливый
0
27.08.2008, 14:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2008, 14:11
Привет! Вот еще темы с ответами:

Неправильное преобразование или не понимаю компилятор(( - C++
У меня есть переменная m_fio типа CString (поле из базы данных при чем текстовое) не могу передать его значение в EDIT Код где ошибка ...

Неправильное объявление метода - Java
Делал по примеру: package components; /* TextDemo.java requires no other files. */ import java.awt.*; import...

Неправильное объявление свойств класса - PHP ООП
Пример из документации http://php.net/manual/ru/language.oop5.properties.php &lt;?php class SimpleClass { // неправильное...

Вызов подпрограмм из других файлов - Fortran
Добрый день. Вопрос таков: я начинаю юзать Фортран. Необходимо научиться вызывать подпрограммы из других файлов *.f . Вызывать...


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

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

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