This is about the only way i could think of to store values without using a struct or class, its messy imo.
Code:
#include <iostream>
using namespace std;
void getValues(void* arr[4], int &x, int &y, float &q,char &c)
{
// Cast the pointers into their coresponding datatypes and assign
x = *(int*)arr[0];
y = *(int*)arr[1];
q = *(float*)arr[2];
c = *(char*)arr[3];
}
void main()
{
// lets assume we know ahead of time that arr will be * int , * int, * char * float
int x = 1 ,y = 2, x1, y1;
float q = 2.3, q1;
char c = 'A' ,c1;
void* arr[4]; // will hold 4 pointers to different data types
arr[0] = &x;
arr[1] = &y;
arr[2] = &q;
arr[3] = &c;
getValues(arr,x1, y1, q1, c1);
x = 7;
cout <<x1 <<endl;
cout <<y1 <<endl;
cout <<q1 <<endl;
cout <<c1 <<endl;
}
with this you could do something like, void * arr[ARR_SIZE][4]
and then store all your values for first piece of data in the first positions 4 pointers, the moves to second postion.
i dont know if this helps you at all but i hope it does
personaly, i'd use a class.