Алексей
как использовать перечисление в другом файле?
У самого какие мысли? А перечисления как организованы? Построчно?
Vladislav
Та нет, у меня есть перечисление в главном файле и мне нада обработать его объекты через функцию в другом
Vladislav
вроде для этого extern есть, но че-то у меня с ним не ладится
Andrii
#ifndef MY_HEADER_INCLUDED #define MY_HEADER_INCLUDED enum gender { MALE, FEMALE, GENDER_COUNT }; #endif
Andrii
В обоих файлах #include <this_file>
Дмитрий
может рекурсия поможет, но тогда может воткнуться в переполнение стека
Через рекурсию кстати может сработать, надо попробовать
Vladislav
В обоих файлах #include <this_file>
пишет "Этот файл не может быть открыт"
Ikrom
хз
Подари мне свою маску кота
Дмитрий
А зачем там массивы и тем более векторы. Векторы штука дорогая
Как это сделать тогда через переменные? Подскажите, пожалуйста
Andrii
пишет "Этот файл не может быть открыт"
Дык надо было назвать этот файл this_file. А ты как назвал?
Дмитрий
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; } код для двух чисел такой
Andrii
drivesnake.c
Ну... хидера называют с расширением h
Vladislav
дык а мне не хедер нужон
Vladislav
у меня два .c
Andrii
дык а мне не хедер нужон
Чтобы одно перечисение использовать в двух файлах, надо сделать хидер
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 (наверно) не все компиляторы поддерживают
Andrii
А в c pragma once писать нельзя?
Ну... это не стандарт всё-таки... По определению это расширения
Михаил
это чт о
это вместо #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
УХХУХ
Алексей
у меня автоматом #pragma once стоит
Посмотри по плюсам simple code. Не помню номер урока но оно выскочит
Vladislav
УХХУХ
повезло повезло
Andrii
УХХУХ
Это всё в header?
Andrii
Что такое game, покажи определение?
Михаил
УХХУХ
я в таких случаях исключаю исходники из проекта (но в папке они остаются и включаются дальше)
Andrii
а кто знает что такое #pragma comment
Судя по вчему это компилятор мелкомягких, мне уже неинтересно
Andrii
тут
Нет, в тексте... Тебе говорят, что у тебя одно имя попало в два объектных файла
Vladislav
аа
Vladislav
везде только одно подключение
Михаил
у тебя в главном файле включения типа paint.c?
Михаил
#include "paint.c"
Vladislav
нет
Михаил
... странно
Vladislav
у меня вообще повторов нету...
Михаил
а можно так делать? div = (b, d)
Andrii
везде только одно подключение
Ну вот покажи? У тебя хидер включается в два файла, может быть двойное подключение
Алексей
а можно так делать? div = (b, d)
Может и можно смотря какой язык
Andrii
у меня вообще повторов нету...
Есть, компилятор он самый честный, никогда не врёт
Andrii
как покажу
Просто приведи строку, где описывается game. И файл скажи какой
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
ничего не понимаю... :(
Артём
что такое табуляция?
Алексей
С++
Я что-то пропустил в этой жизни))
Andrii
а где я его найду?
grep -Irn '\bgame\b' . --include '*.h'
eye=x×s²
что такое табуляция?
Поддерживаю вопрос