Вопросы по теме 'forward-declaration'

вперед объявить структуру typedef
Я не могу понять, как переслать объявление структуры Windows. Определение typedef struct _CONTEXT { .... } CONTEXT, *PCONTEXT Я действительно не хочу влезать в этот заголовок, так как он везде присутствует. я пробовал структура...
3219 просмотров
schedule 17.09.2022

Почему предварительное объявление не работает с классами?
int main() { B bb; //does not compile (neither does class B bb;) C cc; //does not compile struct t tt; //compiles class B {}; //HERE is the...
5013 просмотров
schedule 11.06.2022

Предварительное объявление C++ для виртуальной функции
У меня есть иерархия классов, и я пишу в ней виртуальную функцию. Скажем, есть три класса class A { virtual A* test(); }; ( File A.h ) class B : public A { virtual C* test(); }; ( File B.h ) class C : public A {}; ( File C.h ) Теперь я...
1416 просмотров
schedule 06.05.2023

Когда необходимо пустое определение пространства имен?
Пространства имен не объявляются и не определяются, как большинство других вещей, но пространство имен, эквивалентное предварительному объявлению, будет таким: namespace X {} // empty body Обычно вы определяете пространство имен, помещая в...
2023 просмотров
schedule 15.05.2022

Вперед объявить ФАЙЛ *
Как мне передать объявление FILE * в C? Обычно я делаю это с помощью struct MyType; , но, естественно, это невозможно. Если поведение стандартов или компиляторов C отличается от C++, это также представляет интерес. Обновление0 Почему я...
4555 просмотров
schedule 22.12.2022

Почему не допускается прямое объявление класса, который будет typedef?
Если я хочу использовать указатель на класс и не выполняю с ним никаких операций, мы можем пересылать объявление класса. Но если это typedef, почему это не разрешено? В следующем примере он компилирует только я включаю закомментированный код, но...
3500 просмотров
schedule 27.12.2023

Форвардные объявления, которые включают std :: vector и т. Д.
Я много использовал форвардные объявления; они помогают избежать множества #include , улучшить время компиляции и многое другое. Но что, если я хочу объявить класс в стандартной библиотеке? // Prototype of my function - i don't want to include...
1501 просмотров

Предварительное объявление класса C++
Когда я пытаюсь скомпилировать этот код, я получаю: 52 C:\Dev-Cpp\Projektyyy\strategy\Tiles.h invalid use of undefined type `struct tile_tree_apple' 46 C:\Dev-Cpp\Projektyyy\strategy\Tiles.h forward declaration of `struct tile_tree_apple'...
152315 просмотров
schedule 18.05.2023

прямое объявление функции внутри другой функции
Код идет первым: void foo(int x) { void bar(int); //is this forward-decl legal? bar(x); } void bar(int x) { //do stuff } В приведенном выше коде foo вызывает bar , обычно я помещаю forward-decl bar вне foo , например так:...
1741 просмотров
schedule 12.02.2023

Предварительное объявление класса C++ с пространством имен в Objective C
Можно ли сделать предварительное объявление класса С++, который находится внутри пространства имен, в заголовочном файле Objective C? Класс С++ для пересылки объявления в Objective C: namespace name { class Clazz { }; } Я...
2281 просмотров

typedef общий указатель, содержащий шаблонный класс
Предположим, у меня есть некоторый класс шаблона, объявленный вперед, и я хочу определить общий указатель на него. Как бы я это сделал? template<typename T> class Arg; typedef std::tr1::shared_ptr<Arg> ArgPtr; // Compiler error
2549 просмотров

недопустимое предварительное объявление структуры
-- РЕДАКТИРОВАТЬ -- Извините, что я запутал людей, я просто быстро набрал этот код вместо копирования и вставки, поэтому я фактически делаю #ifndef A_H #define A_H в своем коде. Я изменил приведенный ниже код, чтобы показать, что -- Завершить...
1083 просмотров
schedule 26.03.2023

Как быть с классами, которые зависят друг от друга и имеют члены-шаблоны?
Это частично связано с этим вопросом SO . У меня есть два класса, оба они шаблонные, например: class Base { public: template< class T > void operator=(T other) { //irrelevant } Derived toDerived() {...
661 просмотров
schedule 23.11.2023

предварительное объявление пространства имен
namespace CounterNameSpace { int upperbound; int lowerbound; using namespace NS;//Error } namespace NS { int i; } // ... namespace NS { int j; } В приведенном выше случае отображается ошибка. ошибка C2871: «NS»: пространство имен с...
5571 просмотров
schedule 16.04.2022

Почему я получаю неполный тип при использовании предварительного объявления вместо #include?
Здесь у меня есть state_machine.h: #ifndef STATE_MACHINE_H #define STATE_MACHINE_H // state machine classes //#include "state_t.h" class state_t; class state_machine { public: state_machine(); void change_state(state_t *newState);...
1063 просмотров

Почему не работает предварительное объявление структуры?
Я написал небольшой код на C, в котором были определены два типа структур, в определении которых есть члены друг друга. Случай 1: если структура foo определена до структуры bar, код компилируется, как и ожидалось. Случай 2: если struct foo...
5518 просмотров
schedule 16.11.2023

C++: прямое объявление класса с помощью удаления для уникального указателя, который можно повторить
В C++ можно использовать предварительное объявление, чтобы разрешить указатели на неполный тип. class A; A *p; Однако в некоторых случаях я хочу вместо этого объявить уникальный указатель, поэтому я использую class A; class A_Deleter {...
117 просмотров

предварительное объявление перечисления в базовом классе, определение в производном классе
Итак, я пытаюсь определить перечисление в производном классе, где объявление находится в базовом классе. Это выглядит примерно так: class A { public: enum class E; virtual int foo () = 0; }; class B : public A { public: enum...
353 просмотров
schedule 13.02.2024

Определение параметра структуры с типом самой структуры
Я пытаюсь запустить алгоритм BFS в матрице, чтобы получить кратчайший путь от моей позиции до первого доступного элемента, который находит BFS. Матрица состоит из узлов, определяемых следующим образом: struct node { int distance = -1;...
288 просмотров
schedule 20.07.2023

Ошибка C ++ LNK2005 при добавлении нового файла заголовка
Я работаю над школьным проектом. Я знаю о своей циклической зависимости (и ранее прочитал большинство резолюций по этому поводу), но в настоящее время она работает так, как мне нужно. К сожалению, я почти уверен, что это также причина моих бед. Я...
367 просмотров