Skip to main content
GameDev.net gamedev.net
🔒 Locked

Windows Threads

Started by Leadorn Aug 13, 2002 at 9:28 AM 2 replies 300+ views
Original Post
Leadorn
Leadorn
Hi I''ve got a little ? why cant I use *data++ in my thread?
  
#include <iostream>
#include <process.h>
#include <Windows.h>
using namespace std;

static int test;

void vTestThread(void *pvoid);
int main(void)
{


_beginthread(vTestThread,0,&test);


while(1)
{

	test++;
	Sleep(250);
	//cout << "Main loop " << test << endl;

}

	
return 0;
}

void vTestThread(void *pvoid)
{
	

	int *data;
	
	data = (int*)pvoid; 

	

	while(true)
	{
		Sleep(250);
		
		//*data++;

		cout << "Värde: " << *data << endl;
		cout << "Adress: " << data << endl;
		//This works but.

		*data+= 5;
		//This dosent work....

		//*data++;


	}



}

  
When I use *data++ it messes with the address of data.
Carrot
Carrot
Its to do with operator precedence.
Try (*data)++ instead.
Paradigm Shifter
Paradigm Shifter
You want

(*data)++

instead of *data++ if you want to incrememnt the ''pointed at'' variable. *data++ gets the contents of the pointed at variable, and then increments the pointer.
"Most people think, great God will come from the sky, take away everything, and make everybody feel high" - Bob Marley

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.