170 похожих чатов

Привет, такой вопрос. У меня есть массив указателей: PrUserId*

MyIds[] = { &TarConnId, &LocalConnId };

Дальше я передаю его в конструктор класа вот так:
IdsClass(MyIds);

Дальше принимаю его в конструкторе и пытаюсь им инициализировать поле класса вот так:
IdsClass(PrUserId* MyIds[])
: TarUsrIds(TarUsrIds)
{
...
private:
ProdUsrId** TarUsrIds = nullptr;
};

Но не получается. Никто не может подсказать как такое можно сделать правильно? (важно, чтобы MyIds был инициализирован двумя ссылками ( *какой-то тип* MyIds = { &TarConnId, &LocalConnId };) Суть в том, чтобы каким-то образом передать в класс указатель(или что-то другого типа), который будет указывать на два элемента, расположенных последовательно. Ну, чтобы можно было передать потом этот указатель и из како-то участка когда получить доступ к этим двумэлементам через MyIds[0], MyIds[1].

13 ответов

22 просмотра

Почему бы просто не передать 2 указателя и не записать в 2 поля? Зачем магические числа [0] [1]

Gabriel- Автор вопроса
Vladimir
Почему бы просто не передать 2 указателя и не запи...

Ну, там не совсем магические числа. Там есть норм перебор всего этого. Просто апи принимает именно указатель, в котором должны находиться объекты.

Почему в твой конструктор не передан размер массива?

Gabriel- Автор вопроса
Ilya Zviagin
Почему в твой конструктор не передан размер массив...

Передан, прост не указывал его конкретно тут.

Не получается - а, что? Проблем быть не должно...

Gabriel- Автор вопроса
Gabriel
Но проблемы всё равно есть.

В том, что ты поле самим собой инициализируешь?

Gabriel- Автор вопроса
Alexander "Ternvein" Isaev
В том, что ты поле самим собой инициализируешь?

Нет, в том, что такой вариант как описал не компилится на msvc. Если это можно как-то иначе сделать, то не мог бы кто подсказать как?

Gabriel- Автор вопроса
Alexander "Ternvein" Isaev
В том, что ты поле самим собой инициализируешь?

Если ты про это, то тут всё ок. Мне нужно его инициализировать "собой же".

Gabriel
Если ты про это, то тут всё ок. Мне нужно его иниц...

И как ты себе это представляешь? Как оно должно работать? Поясню, ты написал примерно следующее: int a = a;

Gabriel- Автор вопроса
Alexander "Ternvein" Isaev
И как ты себе это представляешь? Как оно должно ра...

Ну я передаю что-то в класс над чем будет работать объект этого класса.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
3
Карта сайта