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

передача параметра - C++

Восстановить пароль Регистрация
 
septe-mber
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 123
06.01.2013, 17:40     передача параметра #1
привет всем ! вот код
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
29
30
31
32
33
#include <iostream>
 
using namespace std;
 
struct book
{
    char title[40];
    char authors[30];
    char publishing_house[15];
    int year;
    int pages;
};
 
void input_book(book* b)
{
    cout<<"Название: ";
    cin>>b->title;
    cout<<"Автор: ";
    cin>>b->authors;
    cout<<"Издательство: ";
    cin>>b->publishing_house;
    cout<<"Год: ";
    cin>>b->year;
    cout<<"Количество страниц: ";
    cin>>b->pages;
}
 
int main()
{
    book a, *pa = &a;
    input_book(pa);
    return 0;
}
почему при передачи параметра
C++
1
input_book(a);
компилятор ругается ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2013, 17:40     передача параметра
Посмотрите здесь:

C++ Передача параметра в потоки
Передача параметра по ссылке C++
Передача параметра предикату в find_if C++
передача параметра в функцию C++
передача параметра в класс C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
06.01.2013, 17:48     передача параметра #2
вот этот не ругается:
http://liveworkspace.org/code/3U7E6K$0

а вообще попытайтесь понять по тексту, что не нравится компилятору ну и до кучи сюда полностью текст этой ошибки вставляйте. и какой компилятор тоже укажите.
booker
 Аватар для booker
23 / 23 / 2
Регистрация: 21.11.2012
Сообщений: 106
06.01.2013, 17:59     передача параметра #3
функцию main закрыли?

Добавлено через 2 минуты
после опредкления input_book() значок поставили ; ?
septe-mber
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 123
06.01.2013, 18:01  [ТС]     передача параметра #4
тут вообще код правильный...просто я хочу узнать почему при передачи input_book(a); копилятор ругается...а при таком передачи input_book(pa) все хорошо работает ...в чем отличие от таких передачи параметров ?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
06.01.2013, 18:12     передача параметра #5
Цитата Сообщение от septe-mber Посмотреть сообщение
тут вообще код правильный...просто я хочу узнать почему при передачи input_book(a); копилятор ругается...а при таком передачи input_book(pa) все хорошо работает ...в чем отличие от таких передачи параметров ?
потому что pa - это указатель. И функция тоже принимает в качестве параметра указатель. Если хотите передать a, то берите адрес этой переменной
booker
 Аватар для booker
23 / 23 / 2
Регистрация: 21.11.2012
Сообщений: 106
06.01.2013, 18:21     передача параметра #6
в функции input_book вы как к членам структуры обращаетесь? ->

перепешите с точкой вот так b.title и будет вам счастье)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2013, 18:25     передача параметра
Еще ссылки по теме:

C++ Передача параметра в функцию
C++ Передача параметра функции
C++ Передача параметра из класса в класс

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
06.01.2013, 18:25     передача параметра #7
Цитата Сообщение от booker Посмотреть сообщение
в функции input_book вы как к членам структуры обращаетесь? ->
перепешите с точкой вот так b.title и будет вам счастье)
b - это указатель. И соответственно обращение к членам структуры идет через знак импликации "->"
Yandex
Объявления
06.01.2013, 18:25     передача параметра
Ответ Создать тему
Опции темы

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