The compiler found an identifier where it wasn't expected. Make sure that identifier is declared before you use it.
#include "Mob.h"
Как исправить
#pragma once
#include "Weapon.h"
class Mob;
class Player
{
public:
int health, armor, exp, mana;
int currentHealth, currentArmor, currentMana, toNextLvlExp, balance;
int missChanceBody, missChanceHead, missChanceLegs;
Weapon sword;
Weapon magicStick;
Player(int _health, int _armor, const Weapon& _sword, const Weapon& _magicStick);
int takePhysicalDamage(Mob& m);
};
mob.h:
#pragma once
#include <string>
#include "Player.h"
The * or -> operator must be applied to a pointer
"К указателю должен быть применен оператор * или ->",
Оператор * или-> должен быть применен к указателю
#include <iostream>
using namespace std;
int main()
{
float x, y;
char z;
char c = 'n';
do {
cout << "Write your first number:";
cin >> x;
cout << "Write your second number:";
cin >> y;
cout << "Write your sign:";
cin >> z;
switch(z)
{
case '+':
{
cout << "Your answer: "
<< x << "+" << y << "="
<< x + y
<< "\n";
}
break;
case '-':
{
cout << "Your answer: "
<< x << "-" << y << "="
<< x - y
<< "\n";
}
break;
case '*':
{
cout << "Your answer: "
<< x << "*" << y << "="
<< x * y
<< "\n";
}
break;
case '/':
{
if(y == 0)
{
cout << "You cant division!" << endl;
}
else
{
cout << "Your answer: "
<< x << "/" << y << "="
<< x / y
<< "\n";
}
}
break;
}
cout << "continue? (y/n): ";
} while((cin >> c) && c == 'y');
}
double x = 12.3456789;
double y = 98.7654321;
QString str = QString("x: %1 y: %2").arg(x, 0, 'f', 3).arg(y, 0, 'f', 3);
OUT:
x: 12.346 y: 98.765
Задача: удалить из каталога все файлы в названии которых есть символ "~" и размер которых 0.
#include<iostream>
#include<string>
#include<filesystem>
#include<vector>
// #include<windows.h> // DeleteFile ...
using namespace std;
using namespace experimental::filesystem;
auto pred = [](const auto& entry)
{
return !is_directory(entry.path()) &&
entry.path().filename().string().find("~") != string::npos &&
file_size(entry.path()) == 0;
};
auto getFiles_if(const string& dir, decltype(pred) p)
{
vector<directory_entry> result;
if(!exists(dir))
{
cerr << "error: " << dir << "does not exist!";
return result;
}
copy_if(directory_iterator(dir), {}, back_inserter(result), p);
if(result.empty())
{
cout << "files not found\n";
}
return result;
}
int main()
{
string dir = "D:\\temp";
for(const auto& pf : getFiles_if(dir, pred))
{
string file = pf.path().string();
cout << "delete file? " << file << " (y/n): ";
if(char c = 0; (cin >> c), c == 'y')
{
if(remove(pf.path())) // Всего лишь заменить на DeleteFile(file.c_str());
{
cout << "delete: " << file << "\n";
}
// ...
}
else
{
cout << "skip: " << file << "\n";
}
}
system("pause");
}
Почему так?
#include<iostream>
#include<string>
#include<sstream>
using namespace std;
struct Entry
{
string name;
int age;
};
istream& operator>>(istream& is, Entry& e)
{
is >> e.name >> e.age;
return is;
}
ostream& operator<<(ostream& os, Entry& e)
{
os << e.name << " " << e.age;
return os;
}
int main()
{
string line;
getline(cin, line);
istringstream is(line);
is.exceptions(ios_base::failbit);
Entry e;
try // I know it was wrong.
{
while(is >> e)
{
cout << e << "\n";
}
}
catch(exception& e)
{
cerr << e.what() << endl;
}
cout << "Done!\n";
string answer;
cin >> answer;
system("pause");
}
Когда заврешается выполнение функции?
They’ll transform a switch statement into polymorphic deployment, or collapse an
inheritance hierarchy into a chain-of-command. In short, they treat software
the way a sculptor treats clay—they continuously shape and mold it.
Что нужно знать java back-end junior разработчику помимо языка
Для общего развития мышления, тренировать свои мозги тоже не бывает лишним)
Для общего развития
int[] removeNthElm(int[] array, int nElement)
{
// перемещаем нужный элемент в конец
for(int i = nElement - 1; i < array.length - 1; ++i)
{
// типа swap
int a = array[i];
array[i] = array[i + 1];
array[i + 1] = a;
}
return shorten(array);
}
void draw()
{
int[] a = {1, 2, 3, 4, 5};
a = removeNthElm(a, 1);
printArray(a);
exit();
}
OUT:
[0] 2
[1] 3
[2] 4
[3] 5
The shorten() function decreases an array by one element by removing the last element and returns the shortened array:
Задаю такой вопрос ибо не нашёл универсального решения
#include<iostream>
#include<cstdlib>
int main()
{
system(" "); // пробел важен
std::cout << "\x1b[31m" << "Hello user!";
std::cin.get();
}
как правильно себе построить план?
#include<iostream>
int main()
{
int a;
std::cin.operator>>(a);
std::operator<<(std::cout, "a = ").operator<<(a);
}
this->_M_setstate(ios_base::badbit)
Каким образом символы конвертируется именно в 0?
уже 2 день с этой задачей борюсь
как это реализовать(теоретически)?
#include<iostream>
#include<sstream>
#include<string>
#include<fstream>
using namespace std;
string process(const string& filename)
{
ostringstream os;
if(ifstream ifs(filename); ifs)
{
string line;
while(getline(ifs, line))
{
if(auto pos = line.find("link"); pos != string::npos)
{
pos = line.find('\"', pos);
auto end = line.find('\"', pos + 1);
os << process(line.substr(pos + 1, end - pos - 1));
continue;
}
os << line << "\n";
}
}
return os.str();
}
int main()
{
cout << process("text.txt");
cin.get();
}
#include <iostream>
#include <set>
#include <algorithm>
#include <iterator>
using namespace std;
int main()
{
set<int> nums;
generate_n(inserter(nums, nums.end()), 42, []{ return rand() % 42; });
int n = 0; cin >> n;
cout << "\n"
<< ((nums.find(n) != nums.end()) ? "" : "Not ")
<< "Found"
<< endl;
}
А без цикла никак?
#include <iostream>
bool find(int a[], int sz, int value)
{
if(sz == -1)
return false;
else if(a[sz] == value)
return true;
else
return find(a, sz - 1, value);
}
int main()
{
int nums[] = { 4, 6, 9, 11 };
int i = 0;
std::cin >> i;
std::cout << "\n"
<< std::boolalpha
<< find(nums, sizeof(nums) / sizeof(int) - 1, i);
}