Если в официальной доке с++ где-то написано "переопределение возможно тогда и только тогда, когда есть virtual у метода базового класса"
то почему именно так?
Почему-то как я не стараюсь всё записывается только в sportsmens[i].full_name,
fscanf
, а поля в твоём файле разделены пробелами, формат fscanf
должен включать в себя пробелы чтобы избавиться от разделителей. Кроме того, имеет смысл проверить, что setlocale
возвращает не-NULL, иначе он не повлияет на десятичный разделитель (и %f
не сможет прочитать число с плавающей точкой записанное как 12,12). error C2835: user-defined conversion 'operator`double'' takes no formal parameters
operator double (int limit)
невозможна. Вторая ошибка -- это следствие первой.Определим в объекте Group две функции с одинаковым именем, например double Age(); и double Age(int limit);.
Но не получается
zeroCounter
как я понял нужен для реализации шага "Remove leading "0" from X'", но эта реализация неправильная. К тому же она находится вне цикла while ( X != "0" )
.for (b in bits of X) // msb to lsb
говорит о том, что b должен пробегать двоичные цифры, от старшего разряда к младшему, в формуле R = 2*R + b
фигурирует значение разряда, а не его индекс, как в твоём коде.R, как я понимаю, должна быть очередная десятичная цифра получающегося числа?
/usr/lib/gcc/x86_64-lfs-linux-gnu/12.2.0/../../../../x86_64-lfs-linux-gnu/bin/as: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
--disable-shared
или --enable-compressed-debug-sections=none
решит эту проблему. Ну либо надо собрать и установить в chroot ещё и zlib. В syslog обнаружил, что мой ip блокируется почему-то
5 30 5264 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 5/min burst 5 LOG flags 0 level 7 prefix "iptables denied: "
git worktree
внутри нет истории, только текстовая ссылка на каталог .git. Поэтому если всю эту конструкцию скопировать в другое место файловой системы и попытаться использовать там, то могут быть неожиданные эффекты, поскольку worktree будет ссылаться по абсолютному пути на оригинал, а не на копию. Возможно ли вместо цикла использовать рекурсию? Если да, то как?
static int foo(int s, const int *nom)
{
if (! s)
return 0;
else
return foo(s % nom[0], nom + 1) + s / nom[0];
}
...
static const int nom[] = {500, 100, 50, 10, 5, 2, 1};
printf("%d\n", foo(s, nom));
Что бы вы хотели знать, когда перешли на линукс или первый раз поставили?
что нужно делать, что не нужно
Почему возникает ошибка
scanf("%d", *(b+i));
b = (int*) malloc(a * sizeof(int));
) и даже пытается её возращать, но неправильным типом и main это значение не использует. А поэтому в main b как был NULL так и остаётся. По-хорошему надо как-то так:int * input_array(int a){
int *b = (int*) malloc(a * sizeof(int));
for (int i = 0; i < a; ++i) {
printf("array[%d] = ", i);
scanf(" %d", b+i);
}
return b;
}
int main() {
...
printf("Введите длину массива:");
scanf(" %d", &a);
int *b = input_array(a);
min = find_min(b, a);
max = find_max(b,a);
average = average_function(min, max);
...
}
void EcsSystems::Add(IEcsSystem* system) { _systems.push_back(system); if (IRunSystem* runSystem = static_cast<IRunSystem*>(system)) { _runSystems.push_back(runSystem); } }