Свързани въпроси 'unions'
очакван неквалифициран идентификатор преди токена „[“ и +
Имам проблем с разрешаването на неизвестен проблем, който никога не съм срещал на Arduino Nano (ATmega328). Създавам изходен код на дрон и се справя добре. Но внезапно се появиха грешки в Arduino IDE. Очевидно съм новобранец в програмирането. Така...
822 изгледи
schedule
02.10.2022
Може ли обединението да съдържа обекти от клас с потребителски дефиниран конструктор?
Може ли обединението да съдържа обекти от клас с потребителски дефиниран конструктор? Когато се опитам да създам, той дава грешка, казваща „членът „c::aa“ на съюз „c“ има дефиниран от потребителя конструктор или нетривиален конструктор по...
2801 изгледи
schedule
07.10.2022
C отпечатване на char масив като float
Опитвам се да отпечатам масив от 4 елемента като плаващо число. Компилаторът(gcc) не ми позволява да напиша z.s={'3','4','j','k'}; във функцията main(), защо?
#include <stdio.h>
union n{
char s[4];
float x;
};
typedef union n N;...
646 изгледи
schedule
21.10.2022
размер на обединение в C/C++
Какъв е размерът на обединението в C/C++? Това ли е размерът на най-големия тип данни в него? Ако е така, как компилаторът изчислява как да премести указателя на стека, ако един от по-малките типове данни на обединението е активен?
68688 изгледи
schedule
02.01.2024
Членът на C++ Union не е инициализиран
Тъкмо започвах търсенето си със синдикатите, когато открих нещо странно
Ако пусна тази програма
#include <iostream>
using namespace std;
union myun{
public:
int x;
char c;
};
int main()
{
myun y;...
482 изгледи
schedule
10.01.2024
F# връща определен тип обединение от байтов масив
Опитвам се да напиша функция, която приема байтов масив и го преобразува в ADT, както е посочено от параметър. Възможно ли е това във F#? Това е моят ADT:
type DataFormat =
| Alphanumeric of string
| Angle16 of float
| Angle32 of...
330 изгледи
schedule
25.11.2023
обединяване на 32-битова структура с uint32_t и GCC атомарни инструкции
В многопоточна програма, която беше написана, имам някои проблеми с производителността с много голямо състезание за заключване.
Реших този проблем, като имах няколко флага в рамките на 32-битово цяло число без знак.
в момента просто измествам...
381 изгледи
schedule
08.02.2024
Предаване на 32-битова структура в 32-битов аргумент на целочислена функция
Имам някакъв чист C код в моя Objective-C проект. В един от API-тата, които използвам, мога да се регистрирам за обратно извикване с функция, която приема 32-битов целочислен параметър:
void Callback(Packet* packet, int32_t port);
Искам да...
161 изгледи
schedule
26.12.2023
GCC прозрачен съюз
Така че имам съюз, дефиниран като:
typedef union
{
uint8_t *b1;
uint16_t *b2;
uint32_t *b3;
uint64_t *b4;
} buffer_u __attribute__((__transparent_union__));
И функции, дефинирани като:
int write_byte_to_buffer(buffer_u buf,...
3158 изгледи
schedule
19.02.2024
Възможно ли е и правилно ли е да се образува съюз от битово поле в C?
Имам следния съюз и той работи правилно:
#pragma pack(1)
...
union
{
uint8_t opcode;
struct
{
uint8_t z : 3;
uint8_t y : 3;
uint8_t x : 2;
};
}opcode;
Размерът на обединението е точно един байт,...
405 изгледи
schedule
18.04.2024
Съединение срещу static_cast(void*)
Пиша код и досега използвах структури като тази:
struct s{
enum Types { zero = 0, one, two };
unsigned int type;
void* data;
}
Имах нужда от някаква обща структура за съхраняване на данни от различни класове и исках да я използвам в...
1520 изгледи
schedule
15.05.2024
C# Обединения на структури, които съдържат масиви от структури
Опитвам се да създам обединение на множество структури. Имам проблем с една структура, която съдържа масив от друга структура.
[StructLayout(LayoutKind.Explicit)]
public struct FruitBasket
{
[MarshalAs(UnmanagedType.Struct)]...
664 изгледи
schedule
21.04.2024