Bonjour,

Je me pose une question : pourquoi l'opérateur '&' (et probablement les autres opérateurs binaires) n'est t'il pas défini sur un pointeur ?

Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
	const char * p = "Toto";
	if( (p & 0x01) == 0)
	{
		p++;
	}
me donne une insulte du compilateur :
Citation Envoyé par Compilateur
1>testmain.cpp(68) : error C2296: '&'*: non conforme, l'opérande gauche est du type 'const char *'
Le but de cet exemple est de tester si le pointeur est aligné sur une adresse paire et de forcer cet alignement.

Pour faire cela, il semble que je sois obligé de caster le pointeur en nombre et à ce moment là, le test avec l'opérateur '&' se passe sans problème.

Environnement : Visual Studio 2005