//Call monitor and run threads using a temp data struct (reading) void *threadRead(void * foo){ int j; string dBRead; tData * bar = (tData *)foo; // Cast to new struct int iter; for(iter=0; iter<10; iter++){ ReadWrite.startReading(); dBRead = dB; get_wall_time_ints(&timeS, &timeMS); ReadWrite.fileRead(timeS, timeMS, bar->tID); ReadWrite.stopReading(); for(j=0;j<(bar -> tDelay); j++){} } delete bar; return (void *)0; }