Что делать, если появляется непонятная ошибка после запуска c++ кода?
это исходный код.
thread my_thread1(&connecter); if(connfd == true)
int connfd
с bool true
, а вторая -- ты делаешь это main
и connecter
. Когда ты эту гонку исправишь, жизнь твоя, скорее всего, наладится. Непонятно, правда, зачем ты вызываешь accept
в параллельном потоке вместо того, чтобы сделать это синхронно, прямо в main
. По какой причине не видятся методы .x .y
sqrt(x<T>()^2 + y<T>()^2);
var_type name (var_type value = 0) { \
<T>
. А когда ты так сделаешь, x
и y
станут независимыми именами, и чтобы компилятор их нашёл в родительском классе надо будет либо добавить перед ними this->
, либо как-нибудь ещё ему подсказать.template<typename T>
float DVector(2)<T>::length()
{
return sqrt(this->x()^2 + this->y()^2);
}
^2
-- это (без дополнительных усилий) не возведение в квадрат. Не понимаю, откуда эта ошибка появляется
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; }
isdigit
int count_students;
cin >> count_students;
cin >> count_students;
if (cin.fail()) {
cout << "Неправильные входные данные. Попробуйте еще раз.";
cin.clear();
cin.ignore();
goto Step1;
}
Ne sovsem ponyatno kak ispravit
../deps/source-sdk-2013/mp/src/public/tier0/threadtools.h:1130
А в чем заключаются эти ошибки, я не могу понять
"push edi"
"push esi"
"mov edx,lenS"
...
как их исправить
мне бы не помешали еще примеры хорошие
#include <iostream>
int main()
{
char s1[] = "Hola queridos amigos";
char tmp;
asm ("mov (%[left]), %[tmp]\n\t"
"xchg (%[right]), %[tmp]\n\t"
"mov %[tmp], (%[left])\n\t"
: [tmp] "=&q"(tmp)
: [left] "r"(s1), [right] "r"(s1 + sizeof(s1) - 2)
: "memory");
std::cout<<s1<<std::endl;
return 0;
}
Как в ситуации ниже, поступает компилятор?
string::operator <
. Если это std::string, то оператор выполняет лексикографическое сравнение, т.е. сравнивает символы обеих строк по очереди до первой различающейся пары, меньшей будет та строка, которой принадлежит символ с меньшим кодом.Могут ли быть какие-то проблемы
GetWindowText() записывает в массив char'ов через символ
GetWindowText(obj.hEDIT,(LPWSTR)&msg, sizeof(msg));
sizeof(msg)
а sizeof(msg)/sizeof(*LPWSTR)
. "11 22 22 33 33 33"
Должно вывестись:
"11 occurs 1 times
22 occurs 2 times
33 occurs 3 times"
но "33 occurs 3 times" не выводится в консоль. В чем может быть причина?
if (val == currVal) ++cnt; else { std::cout << currVal << " occurs " << cnt << " times " << std::endl;
if (val == currVal) ++cnt;
. При краше приложения вызывается ли функция выгрузки у библиотек?
проблема в том, что вместо массива символов программа выводит просто пустую строку.
i = strlen(str)
помещает в i индекс 0-терминатора строки str, а не последнего символа перед ним. И в конце строки tmp сейчас нет 0-терминатора, так что puts(tmp)
выведет мусор после перевёрнутой строки, если поправить инициализацию i.