Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
27 / 19 / 8
Регистрация: 08.06.2015
Сообщений: 491

заголовочные файлы

11.01.2020, 12:24. Показов 1427. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,
хотел поупражняться с заголовочными файлами, но столкнулся с ...

код целиком работает прекрасно
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
#include "stdafx.h"
 
#include <iostream>
#include <string>
using namespace std;
 
void hello(string b);
string nameIn();
 
int main()
{ 
    string ab = nameIn();
    hello(ab);
    return 0;
}
void hello(string b)
{
    cout << "Hi " << b << endl;
 
}
string nameIn()
{
    string a;
    cout << "Enter your name: ";
    cin >> a;
    return a;
}
Но как только разделил на отдельные файлы, появились ошибки, типа "отсутствует спецификатор типа - предполагается int."
Но я-то не предполагаю этот int в своем коде, откуда у компилятора такая навязчивая идея?

nameIn.h:
C++
1
string nameIn();
nameIn.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <iostream>
#include <string>
#include "nameIn.h"
using namespace std;
 
string nameIn()
{
    string a;
    cout << "Enter your name: ";
    cin >> a;
    return a;
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
 
#include <iostream>
#include <string>
#include "nameIn.h"
 
using namespace std;
 
void hello(string b);
string nameIn();
 
int main()
{ 
    string ab = nameIn();
    hello(ab);
    return 0;
}
void hello(string b)
{
    cout << "Hi " << b << endl;
 
}
Добавлено через 44 минуты
в заголовочный стринг подключил, теперь заработало
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.01.2020, 12:24
Ответы с готовыми решениями:

Заголовочные файлы .h, файлы исходного когда c/c++ и установление связи между ними
Всем добрый вечер!) Относительно недавно стал изучать c/c++, хочу полюбопытствовать ,так как появился вопрос. Почему при объявлении...

Работа в Visual Studio 2015 - как добавить файлы исходного кода и заголовочные файлы?
Приветствую всех! Столкнулся с тем, что решая задачи по книге Лафоре про графику, не смог добавить файлы .h и .cpp, скачав их с одной из...

Заголовочные файлы
Всем добрый день! Пытался найти информацию по созданию заголовочных файлов, да не нашел. У меня есть здоровая шаблонная функция ...

9
 Аватар для FFPowerMan
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,280
11.01.2020, 12:50
Цитата Сообщение от Сергей Кос Посмотреть сообщение
Но как только разделил на отдельные файлы, появились ошибки, типа "отсутствует спецификатор типа - предполагается int."
Но я-то не предполагаю этот int в своем коде, откуда у компилятора такая навязчивая идея?
У меня в CodeBlocks v17.12 не такой ошибки. Все идет нормально.
1
27 / 19 / 8
Регистрация: 08.06.2015
Сообщений: 491
11.01.2020, 13:02  [ТС]
Цитата Сообщение от FFPowerMan Посмотреть сообщение
У меня в CodeBlocks v17.12 не такой ошибки. Все идет нормально.
я вчера с Dev++ на Visual перешел, и такие ошибки посыпались, о существовании которых я даже не мечтал))
0
 Аватар для FFPowerMan
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,280
11.01.2020, 13:09
Студия под C++ ныне не приспособлена. Я поработал - полное г.
1
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
11.01.2020, 15:24
Лучший ответ Сообщение было отмечено Сергей Кос как решение

Решение

Цитата Сообщение от FFPowerMan Посмотреть сообщение
Студия под C++ ныне не приспособлена. Я поработал - полное г.
Не надо гнать на студию
Я не знаю через какую жопу работает Code Blocks который это компилит, но вот как оно должно выглядеть

nameIn.h
C++
1
2
3
4
#pragma once
#include <string>
using namespace std;
string nameIn();
nameIn.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
#include "nameIn.h"
using namespace std;
 
string nameIn()
{
    string a;
    cout << "Enter your name: ";
    cin >> a;
    return a;
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include "nameIn.h"
 
using namespace std;
 
void hello(string b);
string nameIn();
 
int main()
{
    string ab = nameIn();
    hello(ab);
    return 0;
}
void hello(string b)
{
    cout << "Hi " << b << endl;
 
}
(и не компилится не только в VS, но и в gcc)
1
 Аватар для FFPowerMan
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,280
11.01.2020, 19:40
Цитата Сообщение от AndryS1 Посмотреть сообщение
Не надо гнать на студию
- Ага, не надо гнать. Качают гигабайты, чтобы ты винты покупал.
0
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
11.01.2020, 19:48
Цитата Сообщение от FFPowerMan Посмотреть сообщение
Качают гигабайты
У меня студия весит 20 ГБ, мне хватает моего SSD на 240 ГБ и HDD на 1 ТБ для треша
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
11.01.2020, 20:35
Цитата Сообщение от Сергей Кос Посмотреть сообщение
Но как только разделил на отдельные файлы, появились ошибки, типа "отсутствует спецификатор типа - предполагается int."
если верить содержимому файлов,
которые ты привел - ошибки нет.

Цитата Сообщение от Сергей Кос Посмотреть сообщение
в заголовочный стринг подключил, теперь заработало
не знаю, что ты подразумеваешь под "включением стринга в заголовочном",
но похоже, что код, который ты показал, отличается от того,
с чем ты работаешь на самом деле.

потому что в варианте, который ты привел в стартопике
ты вообще можешь удалить файл nameIn.h
(и соответственно, упоминания о нем #include "nameIn.h")
оставив только файлы nameIn.cpp, и main.cpp.
и никакой ошибки не будет.
1
27 / 19 / 8
Регистрация: 08.06.2015
Сообщений: 491
11.01.2020, 21:26  [ТС]
Цитата Сообщение от hoggy Посмотреть сообщение
не знаю, что ты подразумеваешь под "включением стринга в заголовочном",
через 40 минут терзаний и после публикации вопроса, я вписал в nameIn.h
C++
1
#include <string>
'

так и заработало. Просто нигде не видел, чтобы в заголовочные, кроме объявления функций, что-то дополнительно указывалось
0
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
11.01.2020, 21:34
Цитата Сообщение от Сергей Кос Посмотреть сообщение
Просто нигде не видел, чтобы в заголовочные, кроме объявления функций, что-то дополнительно указывалось
Chromium

Добавлено через 1 минуту
Я бы сказал наоборот, никогда не видел чтобы в заголовочных только функции писались, там много чего помимо них
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.01.2020, 21:34
Помогаю со студенческими работами здесь

g++ Заголовочные файлы
Значит есть у меня файлик main.cpp к нему инклудиться #include &quot;Event.h&quot; .В этом хидере название функции void event_loop(); .Так же этот...

Заголовочные файлы
Где в Visual studio находится папка с заголовочными файлами, такие как iostream, cmath. Хочу закинуть один файл со всеми необходимыми для...

Заголовочные файлы
Подключил два заголовочных файла, при компиляции пишет, что не знает имени функции Header.h #pragma once float F1(float* ar1,...

Заголовочные файлы *.h
Доброго времени суток! Как понят следующее: В заголовочных файлах, в целях более быстрой компиляции, для указателей на типы данных...

Заголовочные файлы
Подскажите, во время компоновки, в итоге, &quot;присоединяются&quot; к экзешнику все функции/объекты и тдп. которые указаны в заголовочном файле, или...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru