поэтапаный алгоритм определения размера
Единицы трансляции ведь загружаются в произвольном порядке?
Каким образом наличие слова constinit в одной из единиц трансляции гарантирует, что она загрузится раньше?
как только я ввожу число литров и нажимаю энтер все сбрасывается и ничего не выводится. Код пишется в vscode, код пытаюсь запустить в самой консоли vscode. В чем может быть проблема?
Может с кодом что-то не то
Не могу понять в чем дело
assert
использован текст с какими-то забавными символами. Два очевидных способа решения:assert
. Начать можно, например, выполнив вместо компиляции препроцессирование (заменив в командной строке вызова gcc -c
на -E
) и почитав внимательно препроцессированный код в местах на которые ругается компилятор. Ошибки вылезают в месте оператора перегрузки () и Image operator!() возникает ошибка.
Если убрать Image operator!(), то только одна ошибка ("невозможно преобразовать const_Ty в T&")
!()
, поскольку ему не требуется менять исходный объект:Image<T> operator!() const
T& operator()(int i, int j) const
, но возвращает потенциально неконстантную ссылку на внутренности объёкта -- T&
. Следующий код поэтому не будет работать: result(i, j) = -_data[i][j];
. Нужно либо выбросить ссылку из возвращаемого значения оператора T& operator()(int i, int j) const
и переписать реализацию оператора !()
, либо добавить неконстантную реализацию оператора вызова функции. Property<std::string> Name = Property<std::string>(_name); … std::cout << person.Name << std::endl; // тут ошибки
почему у string требует перегрузку для cout?
Property<std::string>
-- это не string
. Хоть у тебя и есть Property<T>::operator T() const
ничто в твоём коде не говорит о том, что Property<std::string>
нужно пытаться приводить к string
а не к какому-нибудь другому типу. Собрал SFML из исходников…
main.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl sf::VideoMode::VideoMode(unsigned int,unsigned int,unsigned int)" (__imp_??0VideoMode@sf@@QEAA@III@Z) referenced in function main main.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __cdecl sf::WindowBase::isOpen(void)const " (__imp_?isOpen@WindowBase@sf@@QEBA_NXZ) referenced in function main main.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __cdecl sf::WindowBase::pollEvent(class sf::Event &)" (__imp_?pollEvent@WindowBase@sf@@QEAA_NAEAVEvent@2@@Z) referenced in function main main.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl sf::Window::Window(class sf::VideoMode,class sf::String const &,unsigned int,struct sf::ContextSettings const &)" (__imp_??0Window@sf@@QEAA@VVideoMode@1@AEBVString@1@IAEBUContextSettings@1@@Z) referenced in function main main.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl sf::Window::~Window(void)" (__imp_??1Window@sf@@UEAA@XZ) referenced in function main main.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual void __cdecl sf::Window::close(void)" (__imp_?close@Window@sf@@UEAAXXZ) referenced in function main
что я должен удалять или очищать и как я должен это делать?
Хочется как-то отойти от указания всех параметров а считать что есть некий контекст.
при замене почему то предпоследний элемент строки и столбца заменяется на случайное число из матрицы
void replaceColumn(int** matrix, int size) {
int maxRow = 0;
int maxElement = 0;
int copy;
// Находим строку с максимальным элементом
for (int i = 0; i < size; ++i) {
for (int j = 0; j < size; ++j) {
if (matrix[i][j] > maxElement) {
maxElement = matrix[i][j];
maxRow = i;
}
}
}
copy = matrix[maxRow][size - 2];
// Заменяем предпоследний столбец найденной строки
for (int i = 0; i < size; i++) {
matrix[i][size - 2] = (i == size - 2) ? copy : matrix[maxRow][i];
}
}
Как мне организовать систему сборки, чтобы любой пользователь мог запустить приложения, имея .exe файл и папку data ( aka DATA_DIR )