Вопросы по теме 'void-pointers'

Эквивалентен window.setTimeout () для C ++
В javascript есть сладкая функция window.setTimeout( func, 1000 ) ; , которая асинхронно вызывает func через 1000 мс. Я хочу сделать что-то подобное в C ++ ( без многопоточности ), поэтому я собрал образец цикла, например: #include...
14503 просмотров
schedule 10.03.2022

Расслабьтесь с преобразованием void * в C ++
В языке C приведение указателей к void * и от него не является ошибкой. Основным препятствием при переносе на C ++ является необходимость приводить указатели при возврате из функций, имеющих дело с универсальными указателями, такими как malloc ,...
2155 просмотров
schedule 30.08.2023

Каким должен быть правильный способ присвоить значение непустому указателю void* в C?
У меня есть следующий код: void funcA(void* pArg) { STRUCTA abc; . . // Some processing here . if (pArg) (STRUCTA *)pArg = abc; } проблема в том, что этот код выдает следующее предупреждение: предупреждение: цель...
398 просмотров

Как добавить в AudioBufferList с помощью AVAssetReader?
Я работаю над чтением аудиоактива с помощью AVAssetReader, чтобы впоследствии воспроизвести аудио с помощью AUGraph с обратным вызовом AudioUnit. У меня работает обратный вызов AUGraph и AudioUnit, но он читает файлы с диска, и если файл слишком...
5705 просмотров

Потоки С++. Аргументы для pthread_create
Есть несколько вещей, которые я не понимаю в функции pthread_create . вот заголовок int pthread_create(pthread_t *restrict thread, const pthread_attr_t *restrict attr, void *(*start_routine)(void*),...
576 просмотров

указатель void на динамически выделяемый класс
Я пытаюсь передать void* функции, а затем внутри этой функции сделать так, чтобы указатель указывал на динамически созданный объект. Это то, что у меня есть до сих пор, но, похоже, это не работает: основной: int main() { void* objPtr;...
6450 просмотров
schedule 09.02.2023

Приведение к void* и обратно к Original_Data_Type*
Я видел и использовал это много раз на С++, особенно в различных реализациях потоков. Что мне интересно, есть ли какие-либо подводные камни/проблемы при этом? Есть ли способ, которым мы могли бы столкнуться с ошибкой или неопределенным условием,...
4550 просмотров
schedule 25.02.2023

в чем разница между переменной (void *) и переменной (void *&) в С++ при приведении типов
в Как напечатать адрес функции-члена в C++ он использует (void *&) для ввода переменной, я пытался используйте (void *), но с этим что-то не так. я спрашиваю, в чем разница между переменной (void *) и переменной (void *&) в C++ при приведении...
2728 просмотров
schedule 09.05.2024

Общая пирамидальная сортировка: не сортировка + ошибка сегментации
Мне нужно создать «общую» пирамидальную сортировку в C. У меня есть основной файл, который включает функцию сравнения. По сути, базовый адрес массива, количество элементов, размер каждого элемента и функция сравнения передаются в функции...
427 просмотров

Для чего используется (void*) литье?
Я пытался найти это в Stack Overflow, но я думаю, что из-за синтаксиса и незнания точно, что искать, я немного растерялся. Я видел, как (void*) использовался для приведения типов, обычно для вызовов функций. Для чего это используется?
12609 просмотров
schedule 09.02.2023

Почему я получаю ошибку SIGSEGV при использовании функции класса из указателя?
Я новичок в С++ и столкнулся с первой проблемой. У меня есть класс GameObject, в котором мне нужно каким-то образом хранить множество компонентов. Каждый компонент представляет собой отдельный класс, поэтому я не могу просто использовать вектор. Я...
550 просмотров

Экземпляр класса C из указателя Void с использованием Ctypes
У меня есть C DLL, которая предоставляет несколько методов, которые возвращают void pointers в класс следующим образом: void *GetLicense() { static AppLicenseImpl ipds_; return (void *) &ipds_; } В С++ после загрузки DLL я бы...
7077 просмотров
schedule 02.09.2023

Void * в качестве возвращаемого типа дает значение int и предупреждение: C
Я реализую свой собственный malloc и столкнулся с небольшой проблемой с пустотой * Когда я печатаю возвращаемые адреса в mem_alloc: printf("Addr p = %p\n", (void *)(p+ 1)); это дает мне что-то вроде этого: Addr p =...
137 просмотров

Как я могу объединить два массива, объявленных как недействительные указатели?
В настоящее время у меня есть программа, которую я пишу, где я реализую Mergesort массива. Массив состоит из неизвестных переменных - это пустой указатель, поэтому я на самом деле не знаю, какие объекты я сортирую (для фактического сравнения...
387 просмотров
schedule 01.11.2022

обратный вызов с аргументом указателя void выдает предупреждение
У меня есть следующий код: /* callback taking a pointer to a "generic" msg as argument */ typedef void (*Callback_t)(void *msg); /* initialize callback pointer */ Callback_t const Callback[] = { ProcessMsgAction0, /**< 0: MSGID_ACTION_0 */...
919 просмотров
schedule 31.03.2022

Получение void* не является ошибкой типа указателя на объект, но код отлично выполняется при использовании XCode.
При выполнении следующего кода я получаю вышеупомянутую ошибку при выполнении изменения функции. Я нигде не использовал разыменование и не использовал void*. Сначала я подумал, что это из-за (двойного *) malloc(..), но даже при использовании...
132 просмотров
schedule 26.12.2022

Приведение структуры карты к пустому указателю и разыменованию
Я пытался привести структуру карты к пустому указателю и наоборот. void addToMap(void *data){ // add some elements to the map } map<string, vector<myStruct> > myMap; addToMap(&myMap); Я пытаюсь отправить myMap в функцию...
1287 просмотров

проблемы с печатью указателей на аннулирование структуры
#include <stdio.h> typedef struct elem{ void * d; }Elem; main(){ Elem *p; Elem e; double pi = 3.14; e.d = &pi; p->d = &pi; printf("%f\n",p->d); printf("%f\n",e.d); } main.c: 25:...
50 просмотров
schedule 09.05.2024

Как я могу привести const void* к элементу структуры?
У меня есть функция сравнения для использования в qsort() следующим образом: int compar(const void *p, const void *q){ interval a,b; *p = (interval)a *q = (interval)b; if(a.extrem[1] < b.extrem[0]) return -1;...
2638 просмотров
schedule 03.07.2022

Возврат структуры *, хранящейся в очереди fifo как void * (возврат несколькими функциями)
Привет, у меня есть небольшая проблема с void *, используемым для того, чтобы сделать код более общим. Я написал очередь fifo (используя связанный список внизу), в которой хранятся любые данные, которые можно преобразовать в void * (т.е. struct * as...
268 просмотров
schedule 15.02.2023