использование указателей на длинные целые числа без знака вместо длинных целых чисел в c ++ - PullRequest
0 голосов
/ 01 сентября 2011

Я хочу передать указатель типа целое число без знака * (также определенное как std :: size_t) в функцию MKL, которая ожидает, что это long long *, хотя оба являются 64-битными целыми числами, я получаю ошибки несовместимости типов.Я использую MKL в 64-битном целочисленном режиме.Любая помощь ?Спасибо

1 Ответ

0 голосов
/ 01 сентября 2011
#include <limits.h>

int main() {
    unsigned int i = UINT_MAX;
    unsigned int iptr = &i

    // In writing this, I realized that you have to change the original 
    // or declare a new llong, but remember that 
    // returning a pointer to a local is bad.  Change the original if you can.
    if(i > LLONG_MAX) i = LLONG_MAX;
    long long *lptr = (long long *)i;
}
...