invalid abstract return type ‘Axis<unsigned int>’
Почему возникает ошибка?
Axis<unsigned int>
-- абстрактный тип, а ты пытаешься вернуть объект такого типа.Команда сборки:
D:\mingw\mingw64\bin\g++.exe -fdiagnostics-color=always -g D:\running\code\parser.cpp -o D:\running\code\parser.exe
D:\mingw\mingw64\bin\g++.exe -fdiagnostics-color=always \
-g D:\running\code\parser.cpp \
-L<путь куда ты установил libgq> -lgq \
-o D:\running\code\parser.exe
Что делать, если появляется непонятная ошибка после запуска c++ кода?
это исходный код.
thread my_thread1(&connecter); if(connfd == true)
int connfd
с bool true
, а вторая -- ты делаешь это main
и connecter
. Когда ты эту гонку исправишь, жизнь твоя, скорее всего, наладится. Непонятно, правда, зачем ты вызываешь accept
в параллельном потоке вместо того, чтобы сделать это синхронно, прямо в main
.
Гипотеза Била — гипотеза в теории чисел, обобщение великой теоремы Ферма: если A^x+B^y=C^z где A,B,C,x,y,z принадлежат множеству натуральных чисел и x,y,z>2 то A,B,C имеют общий простой делитель.
128^5+32^7=8^12данную гипотезу не нарушает - все эти числа имеют общий простой делитель "2"
делает тоже самое что и передача простого int по ссылке в функцию?
Не понимаю, откуда эта ошибка появляется
template <typename T>
void create_huge_matrix(std::vector<std::vector<T>>& matrix, T lowerLimit);
std::vector<std::vector<double>>
, а второй -- int
:create_huge_matrix(matrix_s, 5);
create_huge_matrix(matrix_p);
перегрузка оператора должна скалярно умножать два массива. Под этим подразумевается, например: массив1 - 3,2; массив2 - 5,1, скалярное умножение: 3*5 + 2*1 = 17
LabArray operator* (const LabArray& other) { double sum = 0; for (int i = 0; i < size; ++i) { sum += Array[i] * other.Array[i]; } return sum; }
// Матрица переходов конечного автомата
// -1 - допустимое конечное состояние
// null - недопустимое состояние
const dka = [
[-1, 1, 5, 4, 10, 9, 15, 14], // 0
[-1, 2, 5, 4, 10, 9, 15, 14], // 1
[-1, 3, 5, 4, 10, 9, 15, 14], // 2
[-1, null, 5, 4, 10, 9, 15, 14], // 3
[-1, 8, 8, 7, null, null, null, null], // 4
[-1, null, null, 6, 10, 9, 15, 14], // 5
[-1, null, null, 7, 10, 9, 15, 14], // 6
[-1, null, null, 8, 10, 9, 15, 14], // 7
[-1, null, null, null, 10, 9, 15, 14], // 8
[-1, null, null, 13, 13, 12, null, null], // 9
[-1, null, null, null, null, 11, 15, 14], // 10
[-1, null, null, null, null, 12, 15, 14], // 11
[-1, null, null, null, null, 13, 15, 14], // 12
[-1, null, null, null, null, null, 15, 14], // 13
[-1, null, null, null, null, 18, 18, 17], // 14
[-1, null, null, null, null, null, null, 16], // 15
[-1, null, null, null, null, null, null, 17], // 16
[-1, null, null, null, null, null, null, 18], // 17
[-1, null, null, null, null, null, null, null], // 18
];
// Алфавит
const alphabet = 'MDCLXVI';
// Разбивает строку на лексемы
// (номера символов в алфавите, начиная с 1)
// для отсутствующих символов возвращает 0
const lexer = (str) => str.split('').map((l) => alphabet.indexOf(l) + 1);
// Проверяет корректность числа в римской записи
const check = (str) => {
const lexems = lexer(str);
let state = 0;
let idx = 0;
while (true) {
const lex = lexems[idx] ?? 0;
state = dka[state][lex];
if (state === null) {
return false;
}
if (state === -1) {
return idx === str.length;
}
idx += 1;
}
}