Вот моя проблема: У меня есть структура:указатель и структура с указателями
typedef struct Data_Package{
int type;
size_t size;
void* data;
}Data_Package;
и у меня есть функция: (Edit: Армен Tsirunyan замечания) (это функция .C)
void myFunc(Data_Package* ioData) {
ioData->data = malloc(sizeof(double));
(ioData->data)= (double*)62.5
} //that doesn't work
и main.cpp, где я хотел бы использовать свою функцию:
Data_Package* ioData=0;
/* some random operation that change the data,type,... */
myFunc(ioData);
stc::cout << *static_cast<double*>(ioData->data) << std::endl //I want to display te value data (and not the address)
Так что я хотел бы т o знать, как изменить данные значения в моей функции, а затем отобразить их в main.cpp (мне нужно использовать указатель, а данные недействительны *, потому что это может быть double или bool или int или ...)
Thanks много.
Drlk.
Похоже, вам будет лучше использовать конструкторы и 'boost: variant'. – TartanLlama
Я думаю, что могу попробовать, но насколько он точен, как определенный тип? например, я получаю двойной файл из другого файла. Если я преобразую его в вариант, я потеряю данные и точность? – drlk
В чем проблема сейчас? Я вижу, вы изменили свой вопрос (и признали недействительным ответ). Вы не должны редактировать свои вопросы таким образом (не изменяйте его содержимое, просто добавьте дополнительную информацию в раздел EDIT). Итак, что не работает? Что ты хочешь делать? – zoska