I know there has to be a better and easier way to do what I am trying to do so I'm sorry for my lack of knowledge of programming. My program crashes when I call the function printStructValue. I have left comments to explain my thought process.
#include <iostream>
#include <vector>
using namespace std;
struct selection //vector array to tell me what is selected. ex:'w',5 is wall 5
{
char c;
int id;
}; vector<selection> Sel(20,selection());
struct walls //struct to hold wall data
{
int id;
int x,y,z;
int spriteState;
}; walls W[10];
struct floors //struct to hold floor data
{
int id;
int x,y,z;
}; floors F[10];
template <typename T,typename U>
T returnAnyArray(int st, T t,U u) //function that returns any type passed
{
if(st==1){t;} //if st==1, then return the first, walls W
if(st==2){u;} //if st==2, then return the second, floors F
}
template <typename T>
void printStructValue(T t, int d) //print any struct value
{
cout<<"passed:"<<t[d].x<<endl;
}
int main()
{
W[7].x=204; //init value
F[7].x= 73; //init value
//what I would like to happen is...
printStructValue( (returnAnyArray(1,W,F)),7); //W is returned and passed so W[7].x gets printed.
printStructValue( (returnAnyArray(2,W,F)),7); //F is returned and passed so F[7].x gets printed.
system("pause");
}