Size: a a a

2020 July 18

LA

Liber Azerate in supapro.cxx
Марсианин🛸🚀
Здравствуйте подскажите пж почему вс ругается?   ``` const int a = 100 , b = 100;
   int arr[a][b];
   int n, m;
   cin >> n >> m;
   for (int i = 0; i < n; i++) {
       for (int k = 0; k < m; k++) {
           cin >> arr[i][k];
       }
   } ```Состояние подавления
Предупреждение  C6262  Функция использует "40024" байт в стеке:  это превышает значение /analyze:stacksize"16384". Попробуйте переместить некоторые данные в кучу.
У тебя размер стека меньше, чем ты пытаешься взять
источник

S

SeanWoo in supapro.cxx
Марсианин🛸🚀
Здравствуйте подскажите пж почему вс ругается?   ``` const int a = 100 , b = 100;
   int arr[a][b];
   int n, m;
   cin >> n >> m;
   for (int i = 0; i < n; i++) {
       for (int k = 0; k < m; k++) {
           cin >> arr[i][k];
       }
   } ```Состояние подавления
Предупреждение  C6262  Функция использует "40024" байт в стеке:  это превышает значение /analyze:stacksize"16384". Попробуйте переместить некоторые данные в кучу.
Выделяй динамически память
источник

S

SeanWoo in supapro.cxx
В куче
источник

AF

Aidar Fattakhov in supapro.cxx
Adanos Gotoman
Тогда куда лучше глянуть посоветуете: директХ или опенГЛ?
источник

АК

Артём Колпаков... in supapro.cxx
Подскажите, почему pure virtual func с определением не заносится в VTABLE?
источник

AF

Aidar Fattakhov in supapro.cxx
Заюзал экстеншны - получай в лицо
источник

NI

Nikita Ivanov in supapro.cxx
Артём Колпаков
Подскажите, почему pure virtual func с определением не заносится в VTABLE?
в смысле ее там вообще нет или в смысле там __purecall?
источник

АК

Артём Колпаков... in supapro.cxx
Nikita Ivanov
в смысле ее там вообще нет или в смысле там __purecall?
__purecall
источник

NI

Nikita Ivanov in supapro.cxx
я вообще не знаю обязаны ли компилеры поддерживать такое
источник

АК

Александр Караев... in supapro.cxx
Артём Колпаков
Подскажите, почему pure virtual func с определением не заносится в VTABLE?
Для абстрактного класса vtable вообще не обязана генерироваться. А если генерируется, зачем в ней pure virtual функция?
источник

АК

Артём Колпаков... in supapro.cxx
Александр Караев
Для абстрактного класса vtable вообще не обязана генерироваться. А если генерируется, зачем в ней pure virtual функция?
Для полиморфных вызовов из конструктора базового класса, например. Просто разбирал кейс, статически вызвать - нет проблем, но indirect нельзя. Вот и захотел узнать мотивацию. Похоже дело в отсутствии генерации vtable, раз вы так утверждаете.
источник

АК

Артём Колпаков... in supapro.cxx
И кстати да, непонятно, почему компилятор ругается ворнингом на статический вызов pure virtual из конструктора
источник

/

/bin/cat in supapro.cxx
Артём Колпаков
Подскажите, почему pure virtual func с определением не заносится в VTABLE?
На самом деле компилятор заносит cxa_pure_virtual для всех таких методов
источник

АК

Александр Караев... in supapro.cxx
Артём Колпаков
Для полиморфных вызовов из конструктора базового класса, например. Просто разбирал кейс, статически вызвать - нет проблем, но indirect нельзя. Вот и захотел узнать мотивацию. Похоже дело в отсутствии генерации vtable, раз вы так утверждаете.
Из конструктора базового класса может вызываться без индирекции (компилятор знает статически, что вызывать)
источник

АК

Артём Колпаков... in supapro.cxx
Александр Караев
Из конструктора базового класса может вызываться без индирекции (компилятор знает статически, что вызывать)
источник

АК

Александр Караев... in supapro.cxx
К сожалению, с телефона не могу посмотреть нормальный выхлоп.
Поясню свои слова:
1. Если компилятор точно знает, какая именно функция какого класса будет выбрана при вызове, он может сгенерировать явный вызов, а не ходить по таблицам
2. Определение чисто виртуальной функции имеет смысл при квалифицированном вызове (Base::func()), в виртуальную таблицу оно не попадает (если не ошибаюсь). То есть чисто виртуальная функция с определением - такая же чисто виртуальная, за исключением того факта, что ее квалифицированный невиртуальный вызов имеет какой-то эффект (например, при вызове из наследников).
3. Компилятор не обязан ничего диагностировать, но некоторые умеют при высоком уровне варнингов
источник

IZ

Ilia Zviagin in supapro.cxx
SeanWoo
Выделяй динамически память
Не надо
источник

АК

Александр Караев... in supapro.cxx
Артём Колпаков
И кстати да, непонятно, почему компилятор ругается ворнингом на статический вызов pure virtual из конструктора
Скорее всего для него func() - не то же, что и Base::func(). Компилятор видит func() как явное намерение сходить в виртуальную таблицу, а дальше ничего не может доказать, так как ломается на чисто виртуальной функции :)
источник

АК

Артём Колпаков... in supapro.cxx
Александр Караев
Скорее всего для него func() - не то же, что и Base::func(). Компилятор видит func() как явное намерение сходить в виртуальную таблицу, а дальше ничего не может доказать, так как ломается на чисто виртуальной функции :)
Да, вы правы
источник

A

Alphi in supapro.cxx
Здравствуйте посоветуйте онлайн курсы по программированию по с++ с обратной связю.
источник