Конвертирование типов long to int*

242
03 ноября 2021, 04:50

Вопрос нубский, потому что питонист. Имеется функция в хедере через extern C.

void init(int N, int *srs, int *dst);

Через класс применяю её:

class cp
{
  public:
  void Copy(int *src,int *dest,int size64)
      {
  #ifdef -//-
          -//-
  #else     
          init(size64,adr((int) src),adr((int) dest));//adr - private
  #endif
      }

Вызываю в main.cpp

cp cpf
cp.Copy(A_adr, in1adr, sifeof(file));

Выдает ошибку: initializing argument 2,3 of 'void init(int, long long int*, long long int*)' [-fpermissive] и invalid conversion from 'int' to 'long long int*' [-fpermissive] Я понимаю, что ошибка типов, так как адреса представлены в виде long long(hex формат - 0x000А80С0), которые передаем в int функцию. Как конвертировать данные типы или избежать ошибку с передачей? И правильно ли я вызываю в main свою функцию? Правильно ли использую указатели?

@AlexGlebe @VTT adr - private функция класса private: int adr(int x) {return x < 0x0000CC00} //объявление больше, но пришлось вырезать A_adr - адрес в hex(0x000А80С0) тип long long in1adr - long long тип, которому указателем указан адрес свой адрес hex sifeof(file) - пока не будем трогать, так как там просто цифру указываю куска копирования. Воспроизводимый код не могу привести, так как этого не нужно для понимания.

Answer 1

Разобрался. Функция copy копирует из одного участка памяти в другой кусок size(3 аргумент). Проблема состояла из 2 вещей: 1)Вызов нужно делать с переопределением конечного типа:

cp.Copy(reinterpret_cast<int*> A_adr, reinterpret_cast<int*>in1adr, 64)

2)в Хэдере void init делать без указателей:

void init(int N, int srs, int dst);

После этого ошибка пропадает. Плюс ещё компилятор слабоват, но это другой вопрос. П.с. Всем спасибо, кто откликнулся, а именно @VTT, @eanmos, @AlexGlebe,@goldstar_labs. п.п.с. Если зашедшие сюда не поняли чего-то не поняли или не разобрались, попросите уточнения в комментах и тд, как люди, дизы ставить не обязательно.

READ ALSO
Не работает вывод в файл в Visual studio 2019

Не работает вывод в файл в Visual studio 2019

Я пробовал запускать в visual 2019 но он не выводит в файл, я попробовал запустить в visual 2010 и dev cpp но там выводились цифры которые не как не относятся...

226
маска для input

маска для input

есть скрипт для поля email, и при наведении на него курсора появляется маска такого вида _@__, как эту маску по умолчанию поставить, и не нужно...

78
Вывод информации между страницами javascript

Вывод информации между страницами javascript

При нажатии кнопки на первой странице нужно вывести информацию в тег (P) на вторую страницу хотел сделать это через innerHTML но код срабатывает...

278