Вопросы по теме 'incomplete-type'
Почему я получаю неполный тип при использовании предварительного объявления вместо #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
Могу ли я создать экземпляр std::reference_wrapper‹T›, где T — неполный тип?
Позволяет ли std::reference_wrapper<T> быть неполным T точно так же, как с T& можно иметь дело, не будучи полным T ?
GCC 4.9 принимает следующее:
#include <functional>
struct woof;
struct test
{
test(woof& w) :...
1383 просмотров
schedule
10.02.2024
Неполный тип идиомы C ++ Pimpl с использованием std :: unique_ptr
Прошу прощения за большой объем кода, необходимый для демонстрации проблемы. У меня проблема с использованием идиомы pimpl с std :: unique_ptr. В частности, проблема возникает, когда один класс (который имеет реализацию с расширением) используется в...
1609 просмотров
schedule
06.03.2022
Можно ли расширить typedef с принудительной ошибкой компилятора?
Я использовал метод, показанный ниже, чтобы заставить компилятор кричать мне тип переменной:
template <class T>
struct show_type;
Использование его с желаемой переменной, поэтому компилятор выдает ошибку неполного типа структуры:...
416 просмотров
schedule
11.12.2022
c - Ошибка: неполный тип не разрешен, компилятор IAR
Посоветуйте, что не так?
в .h
struct {
uint8_t time;
uint8_t type;
uint8_t phase;
uint8_t status;
} Raw_data_struct;
typedef struct Raw_data_struct Getst_struct;
void Getst_resp(Getst_struct Data);
в .c...
26280 просмотров
schedule
08.09.2022
Файл реализации будет распознавать только предварительное объявление другого класса
У меня проблема, когда кажется, что файл реализации распознает только предварительное объявление другого класса, а не его фактическое объявление. Я пытался использовать различные охранники с импортом и удалять предварительную декларацию, но...
51 просмотров
schedule
16.11.2022
Ошибка компиляции для неполного векторного типа (C++17)
Сначала немного предыстории. Как сказано в стандарте С++ 17:
[vector.overview]/3 Неполный тип T может использоваться при создании экземпляра вектора, если распределитель удовлетворяет требованиям полноты распределителя 17.6.3.5.1. T должен...
175 просмотров
schedule
31.03.2024
При добавлении элемента *void в массив *void, как компилятор узнает, сколько байтов использовать в памяти?
Недавно я начал больше узнавать о структурах данных, а затем при реализации концепции очереди в C столкнулся со следующим:
typedef struct {
int max; /* Max. enqueed items. */
int total; /* Total enqueued. */
int pos_start; /*...
63 просмотров
schedule
16.02.2024
Если тип структуры определен в другом файле .c, он становится неполным?
У меня не может быть проблем с этим кодом:
#include <stdio.h>
struct foo
{
void * data;
};
int main()
{
printf("%ul\n", sizeof(struct foo));
}
но как только структура будет объявлена в другом файле и передана компилятору,...
154 просмотров
schedule
28.08.2023