Вопросы по теме '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 просмотров
schedule
24.06.2022
Предварительное объявление класса 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 просмотров
schedule
02.11.2022
typedef общий указатель, содержащий шаблонный класс
Предположим, у меня есть некоторый класс шаблона, объявленный вперед, и я хочу определить общий указатель на него. Как бы я это сделал?
template<typename T> class Arg;
typedef std::tr1::shared_ptr<Arg> ArgPtr; // Compiler error
2549 просмотров
schedule
25.01.2024
недопустимое предварительное объявление структуры
-- РЕДАКТИРОВАТЬ -- Извините, что я запутал людей, я просто быстро набрал этот код вместо копирования и вставки, поэтому я фактически делаю #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 просмотров
schedule
26.06.2022
Почему не работает предварительное объявление структуры?
Я написал небольшой код на C, в котором были определены два типа структур, в определении которых есть члены друг друга. Случай 1: если структура foo определена до структуры bar, код компилируется, как и ожидалось. Случай 2: если struct foo...
5518 просмотров
schedule
16.11.2023
C++: прямое объявление класса с помощью удаления для уникального указателя, который можно повторить
В C++ можно использовать предварительное объявление, чтобы разрешить указатели на неполный тип.
class A;
A *p;
Однако в некоторых случаях я хочу вместо этого объявить уникальный указатель, поэтому я использую
class A;
class A_Deleter {...
117 просмотров
schedule
06.12.2023
предварительное объявление перечисления в базовом классе, определение в производном классе
Итак, я пытаюсь определить перечисление в производном классе, где объявление находится в базовом классе. Это выглядит примерно так:
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 просмотров
schedule
19.06.2023