Свой тип параметром в функцию из *.h

Но у тебя в одном файле это. Так работает. Я уже пробовал. А вот если добавить вкладку… т.е. сделать (попробовать все три варианта из Свой тип параметром в функцию из *.h - #11 от пользователя TempArd) тогда будет видно.

@v258 Володь, мне кажется, он просто поспорить зашёл :slight_smile:

1 лайк

Не умею. Не отрицаю. Но не нужно меня делать бестолковым. :slight_smile:
Вы не внимательно читаете мои сообщения. Я, кстати, ко всем с уважением обращаюсь…

Нет, Евгений, я разобраться хочу.
А Вы так и не объяснили, почему при объявлении переменной тип виден, а в аргументах функции нет…

Давно бы попробовали все три варианта из 11 поста… можно с добавлением объявления переменной как в 35…

Глупо задаваться вопросом, почему один НЕПРАВИЛЬНЫЙ вариант работает, а другой нет. Это абсолютно бесполезное знание, потому что в следующем проекте он может и не сработать.
Правильный вариант потому и правильный, что работает всегда. Вам обьяснили, кае надо делать - один ино файл и остальные .cpp .h
Все.

В общем, вы действительно морочите людям голову. Как нужно делать, вам уже объяснили. Вкладки в Arduino IDE - это для домохозяек. Так лучше не делать. Тем более, если вы потом захотите перейти на взрослую IDE - там эти приколы с вкладками не будут работать от слова совсем. Замучаетесь переделывать ))

Почему?
Вы сами себя таким делаете, кстати.

Не понял. В моём примере ВСЁ видно. Что не видно в моём примере? Что Вам ещё нужно объяснять? Чего Вы ещё не поняли?

Зачем мне их пробовать? Для меня там нет ничего непонятного.

Вам же я сказал,

Вам что-то непонятно?

Да, я знаю как использовать несколько .ino в одной папке (но, кстати, никогда этого не делаю, т.к. геморрой перевешивает все сомнительные выгоды от этого), но Вам объяснять не хочу, т.к. Ваши знания пока не позволяют Вам понять всех тонкостей. А потому, просто следуйте совету не использовать несколько таких файлов и всё у Вас будет хорошо.

И, да, кстати:

хотите - разбирайтесь. Всю необходимую информацию (в т.ч. и по нескольким .ino в одной папке) Вам в этой теме уже дали.

Я написал правила выше. Для функции ИДЕ делает ПРОТОТИП. Который размещает ДО инклюда. Ошибку вызывает прототип, создаваемый автоматически.

ЗЫ: Нахер тебе это всё нужно, ТС? Это свойства очень особенной среды - Ардуино ИДЕ. Для программиста важно знать, что делать нельзя - я написал - нельзя иметь два ino. Более тебя ничего в этой кухне не касается.

1 лайк

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

Ладно, что вам доказывать, вы пробовать не хотите, только лишь обвинить меня в мозгоморочестве…

Вот… ну что я могу сказать… значит либо у меня глючит IDE… либо…

Выше уже объяснено

Вот так ошибки тоже не будет

файл Test.ino

#include "first.h"

bool readdata (TData rr);

Теперь дошло. Спасибо.

Спорный вопрос, если знаешь тонкости :slight_smile: О которых Евгений упорно и целенаправленно умалчивает, считая меня бестолковым… Ну и фик с ним :slight_smile:

Ты в поликлинике с терапевтом тоже споришь? И с ГАИшником, когда на камеру взяли?
Может быть жизненный опыт должен как-то помогать определять ситуацию, когда ты имеешь право (внутреннее, не официальное) спорить, а когда это идиотизм?

Я не спорю. Я могу предоставить проект с более чем одной вкладкой. И он полностью рабочий и это не мое изобретение, а стандартное решение в IDE

Пример спора с ГАИШНИКАМИ и терапевтом неуместен.

Я для себя в этой теме понял еще один нюанс вкладок… И уже выше озвучил, что буду отныне стараться обходится без них. А вы все злые какие-то :slight_smile: Попробовали бы мои примеры выше меньше слов было бы…

Зачем? Вот не пользуюсь я Arduino IDE. А VS Code таких извращений не понимает. И для чего мне такой проект, если, чтобы мне в нем что-то сделать, нужно хрЕнову тучу файлов в нем переделывать?

ЗЫ: опыт есть, потом монитор очень долго протирать приходится ))

1 лайк

Лисапета нету :frowning:

Зачем, если они очевидны и никаких вопросов по ним у нас нет?

зачем???
Понимаешь, это только тебе интересно, разобьется ли хрустальная сахарница при падении на плетеный коврик или нет?
Все прочие такими идиотскими вопросами не задаются и просто знают - посуду ронять не надо.

Ты нарочно используешь это неуместное и безграмотное название. Ты из тех кто встречается “на районе”, приходит “с магазина”, пьёт “вкусное кофе” и так далее?

Какие, в жопу, “вкладки”? На вкладках в ИДЕ отображаются ВСЕ файлы проекта, и .h и .cpp.
Ты реально туповат, или просто дурака валяешь?

Ну я то в IDE делаю, и думаю я не один тут такой. И даже более опытные возможно тоже пользуются IDE… Ну и ладно)

Первый вариант Все три (setup, loop и readdata) находятся в созданной вкладке - НЕ РАБОТАЕТ
Второй - readdata в файле проекта, setup и loop в созданной - РАБОТАЕТ
Третий - наоборот setup и loop в файле проекта а readdata в созданной - РАБОТАЕТ
Хотя по сути на вход компилятора поступает один и тот же результирующий файл

Попробовал бы :slight_smile: Интересно же… Почему три функции вместе и в другой вкладке не работают, а в других вариантах работают…
И даже с созданием прототипов не очень понятно. Ведь в таком случае функция, когда она одна в созданной вкладке, тоже не должна работать, но работает же… В общем никто попробовать не хочет… :slight_smile: Ну у кого нет IDE вопросов нет, Не ставить же ее ради этого )))

Если вас попросят полкило коры сосновой съесть и проверить действительно ли она крепит - возьметесь за дело или откажетесь?

1 лайк

Подтверждаю, крепит, с-ка. На 3 дня, потом - рожаешь.

2 лайка