• Почему компилятор выдаёт ошибку "not a type" при использовании forward declaration?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Вам нужно использовать scoped enum из C++11, их, в числе прочего, можно форвардно объявлять. В этом случае перечисление можно из класса вынести.
    Если нет возможности включить поддержку C++11, то придется явно инклудить.
    Ответ написан
    3 комментария
  • Как правильно запутить конструктор родителя внутри наследника?

    dnovikoff
    @dnovikoff
    Вы получаете ошибку этапа компоновки (linking), а не ошибку этапа компиляции (compile).

    Смысл ошибки в том, что отсутсвует определение конструктора для класса Node<ros_johnny5::servoMsgArray, ros_johnny5::robotState> (да - именно так. с кнонкретными параметрами). Его нет в заголовочном файле и он не прилинкован из другого объектного файла/библиотеки.

    Принято для шаблонов совмещать объявление и опредление функций. То есть в том месте, где у вас есть объявление, должно быть и тело конструктора.

    Конечно вы можете написать реализацию отдельно (экспорт шаблонов), но тогда вам придется компилировать их отдельно с каждым набором используемых у вас параметров, т.к. это будут разные классы. Или подключать реализацию туда же куда и заголовок. Но это значит плодить лишний файл и раздувать код ради ничего.
    Ответ написан
    Комментировать
  • Как правильно запутить конструктор родителя внутри наследника?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    #include life_node.h
    
    LifeNode::LifeNode():
          Node<ros_johnny5::servoMsgArray, ros_johnny5::robotState>(SIZE_MESSAGE_BUFFER, TOPIC_SERVO_CONTROL, TOPIC_ROBOT_STATE),
          mInMotion(1),
          mGreetingFlag(0)
    {
    
    }

    Кроме того, конструктор Node должен либо быть определён в файле node.h (или любом другом, который должен быть подключен к моменту вызова конструктора), либо явно инстанцирован для использованных вами шаблонных параметров. Это относится также и ко всем методам класса Node.
    Ответ написан
    Комментировать
  • Как выбрать себе мультиметр?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Смотря для какого "долгого использования"... Если втечении следующих пятнадцати лет 10 раз измерить напраяжение в розетке и 5 раз прозвонить подозрительный предохранитель, то подойдет любая китайщина за пару десятков енотов.

    А если для регулярной серьезной работы, то существyeт, в принципе, FLUKE (и еще, может, Agilent)... и все остальное :) Приличный мультиметр (если только речь именно о портативном, а не о настольном приборе) стоит пару сотен долларов. В любом случае желательно иметь прибор c т.н. true RMS, типа Fluke 117, Fluke 17B, Fluke 87, Fluke 289.

    Если бюджет не позволяет взять что-то нормальное (или нет потребности), то остаются китайцы, типа тех же Vichi, UNI-T и т.д... однако, не стоит ожидать чудес - за пару десятков енотов не бывает того же качества, что за пару сотен :)
    Ответ написан
    2 комментария
  • Как начать делать сайт для организации по заданной идее, если у тебя нет опыта?

    @CaptainVlad
    Буду честен. Вам будет очень тяжело разрабатывать сайт из-за не достатка знаний. У меня несколько лет назад была такая же ситуация. Я создал пару сайтов и однажды мне поступил заказ на дизайн и верстку. Я несколько дней корпел над проектом, нереально устал и в итоге мой проект не приняли=)
    А начать вам лучше с составления брифа т.е. опроса, а на основе его составить ТЗ. В этом поможет сервис www.tzgen.ru/. Затем, на основе тз создайте прототип сайта т.е. схему сайта в черновом виде. Используйте https://cacoo.com/diagrams/. Затем, когда проработаете прототип, на основе его делайте дизайн сайта в фотошопе, добавляйте цвета, подбирайте шрифт и прочие украшательства. Затем нарежьте картинки из макета, расположите в папку images внутри папки с сайтом на компьютере, сверстайте сайт и отдавайте заказчику. Вот вам краткий обзор того, как работать над проектом.

    А на будущее - пройдите курс Нетологии "менеджер интернет-проекта". Там вам дадут теоритические и немного практических знаний о создании сайта, а также пройдите курс верстки на HTML Academy
    Ответ написан
    Комментировать
  • Как начать делать сайт для организации по заданной идее, если у тебя нет опыта?

    @lnked
    Когда мне нужно сделать дизайн, а я не дизайнер, я захожу на популярные сайты шаблонов и ищу шаблон который мне больше по вкусу, с которым можно работать и беря его как основу делаю свой видоизмененный дизайн, в итоге он может сильно отличаться от начального варианта, но так проще, для меня по крайней мере
    Ответ написан
    Комментировать
  • Как начать делать сайт для организации по заданной идее, если у тебя нет опыта?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Да все на самом деле просто. Смотрите на сайты других компаний и делайте себе такое же.
    1. Про юзабилити общие понятия Веб-Дизайн: книга Стива Круга или "не заставляйте меня думать!" (да, она старая)
    2. Кирсанов, Веб-дизайн (да, и она старая)
    3. html/css - или используйте фреймворк, или смотрите как сделано в нем, например в бутстрап
    4. Сразу озаботьтесь вопросом адаптивности, потому что подход: ну мне бы хоть пока по-простому сделать - неверный
    А так, вопрос Ваш слишком общий, Вы на этапы разбейте и начинайте с поиска. Не изобретайте велосипед, задавайтесь почаще вопросом - почему на сайтах делают именно так, а не вопросом - а чем мой вариант хуже.
    Ответ написан
    1 комментарий