Я только начинаю с компиляции x64.
У меня есть пара символов *, и я вычитаю их.
С 32-битной компиляцией это работает:
char * p1 = ....
char * p3 = ...
int delta = p3 - p1;
Но если я скомпилирую для x64, я получу предупреждение:
warning C4244: 'initializing' : conversion from '__int64' to 'int',
possible loss of data
Какой правильный тип использовать, чтобы представить разницу между двумя указателями, который работает в компиляциях x86 и x64?
Я знаю, что мог бы использовать __int64 при компиляции x64, но я хочу, чтобы он работал и для x86, и я бы не хотел вставлять сюда #ifdef
для этого.