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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа, которая "переворачивает" последовательность положительных целых чисел http://www.cyberforum.ru/cpp-beginners/thread1799476.html
На вход подаются целые, положительные числа через пробел. Программа считывает их до тех пор, пока не встретит в последовательности 0. Т.е. 0 это остановка чтения. Цель - вывести эту последовательность в обратном порядке через пробел(0 не выводить). Ограничения: нельзя использовать циклы, массивы, строки, контейнеры. Есть подсказка: надо использовать рекурсию. Сама задача относится к теме...
C++ Реализовать функцию без параметров, определяющую количество символов, отличных от пробела Задача: Описать функцию next() без параметров, которая считывает с клавиатуры первый символ, отличный от пробела, и объявляет его своим значением. Использовать эту функцию для подсчета количества отличных от пробела символов вводимого текста. Код: #include <iostream> #include <string> using namespace std; int next(); int main() http://www.cyberforum.ru/cpp-beginners/thread1799475.html
Нюансы синтаксиса: что означает запись for ( ; ; ) ? C++
Встретила в программе такую строку: for ( ; ; ) { // some code } Кто может объяснить по какому принципу она работает, не совсем понимаю. Гуглила - ничего похожего не смогла найти
C++ _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
Нужна помощь гуру. Искать ошибку тут в коде ненужно, сам все нашёл, мне нужно объяснение почему так происходит, увы нигде не нашёл внятного ответа. Ниже написана простенькая реализация класса, в ней присутствует динамическое выделение памяти под строку символов. Наследования нет. Реализован конструктор копирования и перегружен оператор присваивания. Вопрос в том почему происходит(как я понял...
C++ Из одного статического массива получить три динамических http://www.cyberforum.ru/cpp-beginners/thread1799405.html
Всем привет. Возникла сложность с такой задачей. Написать функцию, которая получает указатель на статический массив и его размер. Функция распределяет положительные, отрицательные и нулевые элементы в отдельные динамические массивы. Код я написал, но постоянно появляется ошибка. Вроде как не отчищается память. но как исправить не могу разобраться. Может кто помочь? #include <iostream>...
C++ Поясните как работает постфиксный и префиксный оператор на примере Здравствуйте. Здесь префиксный понятно, а что если изменить на постфиксный, как код будет работать? vector<int>::size_type cnt=ivec.size(); for ( vector<int>::size_type ix=0; ix!=ivec.size(); ++ix,--cnt) ivec=cnt; подробнее

Показать сообщение отдельно
sm4ll_3gg
0 / 0 / 0
Регистрация: 20.02.2016
Сообщений: 21

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

27.08.2016, 18:51. Просмотров 157. Ответов 4
Метки (Все метки)

Доброго времени суток.
У меня есть какой-нибудь x.h:
C++
1
2
3
4
5
#include "y.h"
class A
{
vector<B*> v;
}
и y.h:
C++
1
2
3
4
5
6
7
#include "x.h"
 
class B
{
public:
void foo(A);
}
Но код не компилится так как два файла подключают друг друга, выдаётся ошибка компиляции в файле y,h "A was not declarated in this scope"
Обязательно нужно в первом классе использовать экземпляр второго, а во втором экземпляр первого.
Как обойти данную ошибку?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru