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 )
В чем тут фокус?
std::tm
-- это завёрнутая в namespace std struct tm
, древняя структура из чистого C. #include <time.h>
enum time_floor_level {
YEAR, MONTH, DAY, HOUR, MINUTE,
};
time_t time_floor(time_t t, enum time_floor_level level)
{
struct tm tm;
gmtime_r(&t, &tm);
switch (level) {
case YEAR:
tm.tm_mon = 0;
case MONTH:
tm.tm_mday = 1;
case DAY:
tm.tm_hour = 0;
case HOUR:
tm.tm_min = 0;
case MINUTE:
tm.tm_sec = 0;
}
return timegm(&tm);
}
Что означает ошибка «Error: relocation ... cannot be used with -shared»
gcc -fpic
). Из-за того что динамические библиотеки могут быть загружены в процесс по любому адресу существует требование, что код в них должен быть position-independent. Поэтому объектники скомпилированные как position-dependent обычно не могут быть слинкованы в динамическую библиотеку. R_AARCH64_TLSLE_ADD_TPREL_HI12
говорит (частью TLSLE, где LE означает Local Executable) о том, что код объектника в котором она находится был намеренно собран с рассчётом на то, что объектник будет частью исполняемого файла, а не динамической библиотеки. Здесь можно почитать об отличиях моделей адресации TLS, в частности о модели Local Exec в разделе 4.4. Почему возникает проблемы при закрытие файла
Больших отличий я не заметил
while (num_bor_1 <= num_bor_2)
{
if ((num_bor_1 % 2) != 1)
{
num_bor_1++;
}
}
do
{
num_bor_1++;
} while (num_bor_1 < num_bor_2);
Почему возникает free(): double free detected
String
копия получает то же значение str
что и оригинал с которого она скопирована, в деструкторе копия удаляет str
оригинала, а потом это же делает оригинал в своём деструкторе. См. правило трёх/пяти. IStream
который возвращает эта функция.