Andrii
Vladislav
Та нет, у меня есть перечисление в главном файле и мне нада обработать его объекты через функцию в другом
Vladislav
вроде для этого extern есть, но че-то у меня с ним не ладится
Andrii
#ifndef MY_HEADER_INCLUDED
#define MY_HEADER_INCLUDED
enum gender {
MALE,
FEMALE,
GENDER_COUNT
};
#endif
Andrii
В обоих файлах #include <this_file>
Дмитрий
Vladislav
Ikrom
хз
Подари мне свою маску кота
Дмитрий
using namespace std;
int NOD(int a, int b) {
int div;
if (a == b) return a;
int d = a - b;
if (d < 0) {
d = -d; div = NOD(a, d);
}
else
div = (b, d);
a = b;
return div;
}
int NOK(int a, int b) {
return a * b/ NOD(a, b);
}
int main()
{
int a;
cin >> a;
int b;
cin >> b;
int n = NOK(a, b);
cout << n;
}
код для двух чисел такой
Vladislav
Vladislav
дык а мне не хедер нужон
Vladislav
у меня два .c
Andrii
Который подключать в обеих файлах, иного не дано
Vladislav
та бл, лишний файл только ради перечисления( ...
Andrii
Ну... там же один файл вызывает функции из другого? Помести прототипы тоже в хидер
Andrii
У тебя эти файлы есть?
Andrii
Там наверняка есть чуть более общего
Vladislav
Все, я просто все объявления перенес в один .h
Vladislav
спасибо,
Andrii
Ну да, #ifndef знаешь что за зверь?
Andrii
#ifndef MY_HEADER_INCLUDED
#define MY_HEADER_INCLUDED
Vladislav
нет
Vladislav
видел, но работать с ним - страшно
Andrii
Эти страж повторного включения. Часто один хидер включает другой, тот третий, тот первый, так можно запутаться и либо зациклится, либо увеличить время компиляции. Поэтому придумали способ, чтобы один файл на включался два раза. Делается это с использованием такого стража
Если не определено имя MY_HEADER_INCLUDED то определить его и включить файл, иначе перейти на #endif в конце.
НУ а правило большого файла: в каждом хидере надо включать такую магию, имя MY_HEADER_INCLUDED должно быть уникально для каждого файла
Vladislav
мм, я даже не знаю...
Алексей
нет
А в c pragma once писать нельзя?
Михаил
#pragma once (наверно) не все компиляторы поддерживают
Vladislav
Михаил
это чт о
это вместо #ifndef ... #define ... #endif.. всего одна строчка
Vladislav
Andrii
это чт о
Вместо
#ifndef _MYHEADER_H_
#define _MYHEADER_H_
...
#endif
можно писать
#pragma once
Andrii
Можно даже
#pragma once
#ifndef _MYHEADER_H_
#define _MYHEADER_H_
...
#endif
Такое вот контрольное изнасилование в голову :)
Алексей
Vladislav
у меня автоматом #pragma once стоит
Михаил
а кто знает что такое #pragma comment
Andrii
Работаешь и не трожь... Ну и определить один ли это файл может быть проблематично
Vladislav
Vladislav
Andrii
Andrii
Что такое game, покажи определение?
Vladislav
Михаил
я в таких случаях исключаю исходники из проекта (но в папке они остаются и включаются дальше)
Andrii
Нет, в тексте... Тебе говорят, что у тебя одно имя попало в два объектных файла
Vladislav
аа
Vladislav
Vladislav
везде только одно подключение
Михаил
у тебя в главном файле включения типа paint.c?
Vladislav
Михаил
#include "paint.c"
Vladislav
нет
Михаил
... странно
Vladislav
у меня вообще повторов нету...
Алексей
Михаил
а можно так делать? div = (b, d)
Vladislav
Дмитрий
Andrii
как покажу
Просто приведи строку, где описывается game. И файл скажи какой
Vladislav
Andrii
Нет, это включение. А надо строчку, где описан идентификатор game
Кирилл
помогите товарищи почему при нажатии кнопки "атаковать число увеличивается до огромных размеров а должно отнимать. Ты напал на него и отнял у него войско и у себя отнялось смотря сколько у него войск но делается фигня какая то исход код будет
Кирилл
//my army variables
const amountArmy = document.getElementById('amount-army');
let warriors = 0;
//army one variables
const amountArmyOne = document.getElementById('power-one');
let = warriorsOne = 0;
//my army logick
function trainArmy() {
amountArmy.innerHTML = 'Общие кол-во армии: ' + warriors;
warriors++;
};
//army one logick
function amountArmyOneSet() {
amountArmyOne.innerHTML = 'Количество Армии: ' + warriorsOne;
warriorsOne++;
}
setInterval(amountArmyOneSet, 2000);
// attack army one
let mth = Math.floor(Math.random() * 100);
function attackEnemyOne() {
amountArmy.innerHTML = 'Количество армии:' + '' + warriors;
amountArmyOne.innerHTML = 'Количество армии:' + '' + warriors;
warriors = warriors - warriorsOne;
warriorsOne = warriorsOne - warriors;
}
Vladislav
Vladislav
ничего не понимаю... :(
Артём
что такое табуляция?
Алексей
С++
Я что-то пропустил в этой жизни))
Кирилл
eye=x×s²