Je commence tout juste avec la compilation x64.Quel est le type correct à utiliser pour la soustraction du pointeur sur x64?
J'ai un couple de char *, et je les soustrais. Avec une compilation 32 bits, cela fonctionne:
char * p1 = ....
char * p3 = ...
int delta = p3 - p1;
Mais si je compile pour x64 je reçois un avertissement:
warning C4244: 'initializing' : conversion from '__int64' to 'int',
possible loss of data
Quel est le type correct d'utiliser, pour représenter une différence entre deux pointeurs, cela fonctionne dans les deux compiles x86 et x64?
Je sais que je pourrais utiliser __int64 sur la compilation x64, mais je veux aussi que cela fonctionne pour x86, et je ne souhaite pas incorporer un #ifdef
ici pour le faire.
En C++, il est 'std :: ptrdiff_t'. – sbi