Есть библиотека:
DynamicCollection.h
DynamicCollection.cpp
При компиляции всё нормально.
Но, вот такой код:
#include <DynamicCollection.h>
DynamicCollection<int> DColl();
void setup()
{
DColl.Add(1);
}
void loop() {}
Почему-то выдаёт ошибку:
sketch_aug06a:7: error: request for member 'Add' in 'DColl', which is of non-class type 'DynamicCollection<int>()'
DColl.Add(1);
^
exit status 1
request for member 'Add' in 'DColl', which is of non-class type 'DynamicCollection<int>()'
Почему так?
DColl объявляет функцию без параметров, возвращающую DynamicCollection<int>, а вовсе не объект. Нужно убрать пустые круглые скобки:
DynamicCollection<int> DColl;
Подробности можно найти по фразе "most vexing parse".
Продвижение своими сайтами как стратегия роста и независимости