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

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

Войти
Регистрация
Восстановить пароль
 
Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
#1

Программа с заголовочным файлом (с++) - C++

15.08.2011, 20:58. Просмотров 894. Ответов 8
Метки нет (Все метки)

Всем Привет! Недавно стал изучать использование заголовочных файлов в с++ и столкнулся с проблеммой. Написал вот такую программу (она бессмысленая, просто у меня в нормальной программе такаяже фигня) из двух файлов, но компиль ругается. В чем я ошибся и как исправить?
Вот заголовочный файл:
C++
1
2
3
//файл attach.h
int a, b;
a = b = 0;
Вот главный файл:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//файл main.cpp
#include "attach.h"
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    extern int a, b;
    cout <<  a << ", " << b;
    system("PAUSE > nul");
    return EXIT_SUCCESS;
}
Вот, что компиль пишет:
Строка......Сообщение
1..............In file included from main.cpp
2..............expected constructor, destructor, or type conversion before '=' token
2..............expected `,' or `;' before '=' token
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2011, 20:58     Программа с заголовочным файлом (с++)
Посмотрите здесь:

Подскажите с заголовочным файлом - C++
есть заголовочный фаил header.h: #include&lt;iostream.h&gt; void fn_void(int m) { m=9; cout&lt;&lt;m; } и есть основная программа: ...

Работа с заголовочным файлом - C++
Здравствуйте! В папке лежит несколько файлов: main.cpp, dualsimplex.h, dualsimplex.cpp Задача: в main.cpp создать объект класса...

Компиляция с заголовочным файлом - C++
Стыдно спрашивать но все же. Никак не пойму как компилировать несколько файлов с заголовочным файлом. Вот что мне отвечает Dev-Cpp ...

Cоздание проги с заголовочным файлом - C++
У меня не получается создать простейшую программку с заголовочным файлом. Я создаю заголовочный файл my.h к примеру такой: void...

Программа работы с файлом, отображенным в память - C++
у меня есть проблемка, дана программа в методичке, нужно откомпилировать, я питался что-то сделать, но выскакует одна ошибка, прошу вашей...

Программа по работе с файлом работает некорректно - C++
Помогите найти где ошибка,программа работает со строками из файла, компилятор пишет error C2039: 'clear' : is not a member of...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
15.08.2011, 21:38     Программа с заголовочным файлом (с++) #2
а если
C++
1
int a = 0, b = 0;
Ree.exe
56 / 56 / 4
Регистрация: 01.08.2011
Сообщений: 141
15.08.2011, 21:41     Программа с заголовочным файлом (с++) #3
Цитата Сообщение от Yashman Посмотреть сообщение
//файл attach.h
C++
1
int b=0, a=0;
Попробуй так.
Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
15.08.2011, 21:48  [ТС]     Программа с заголовочным файлом (с++) #4
тогда компиль пишет
[Linker error] undefined reference to `a'
[Linker error] undefined reference to `a'
[Linker error] undefined reference to `b'
[Linker error] undefined reference to `b'
zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
15.08.2011, 22:03     Программа с заголовочным файлом (с++) #5
Напиши в главном файле
C++
1
2
extern a;
extern b;
Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
15.08.2011, 22:28  [ТС]     Программа с заголовочным файлом (с++) #6
Спасибо zuq, сам я не додумался Правда, тогда надо писать не
C++
1
2
extern a;
extern b;
а вместе с типом:
C++
1
2
extern int a;
extern int b;
Кстати, тогда можно в заголовочном файле писать просто
C++
1
int a = b = 0;
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
16.08.2011, 10:19     Программа с заголовочным файлом (с++) #7
в заголовочном файле пишутся только объявления
определения должны быть в еденице трансляции
определение там, где происходит выделение памяти

C++
1
2
3
//файл attach.h
int a, b;
a = b = 0;
замени

C++
1
2
//файл attach.cpp
int a, b;
C++
1
2
//файл attach.h
extern int a, b;
C++
1
2
//файл main.cpp
#include "attach.h"
файлы .cpp (еденицы трансляции) должны быть добавлены в проект (чтобы компилировались)
Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
16.08.2011, 15:39  [ТС]     Программа с заголовочным файлом (с++) #8
Огромное спасибо, accept, это очень помогло
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2011, 01:37     Программа с заголовочным файлом (с++)
Еще ссылки по теме:

Программа неадекватно реагирует на функции работы с файлом.. - C++
Я написал небольшую простенькую программку, читающую что-то из файла, и записывающую что-то в другой файл, проверил на своем компе - все...

Какую связь имеет запущенная программа со своим исполняемым файлом? Почему его нельзя удалить? - C++
Привет! Просто интересно, ну вот допустим я запускаю EXE файл, по идее программы же полностью выгружается из него в память, так почему я...

Работа с файлом - C++
в общем есть некая решенная задача которая имеет классы и методы(ввода и вывода) для них, нужно ювелирно переделать методы так чтоб они...

Работа с файлом - C++
как изменить код,чтобы можно было при следующем вызове функции, дописывать все эти значения в конец файла,а не переписывать файл заново? ...


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

Или воспользуйтесь поиском по форуму:
accept
17.08.2011, 01:37     Программа с заголовочным файлом (с++)
  #9

Не по теме:

Цитата Сообщение от accept
определения должны быть в еденице трансляции
файлы .cpp (еденицы трансляции) должны быть
единицы

Yandex
Объявления
17.08.2011, 01:37     Программа с заголовочным файлом (с++)
Ответ Создать тему
Опции темы

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