Захотелось сделать что-то вроде своих векторов под ардуино. Получилось это: DynamicCollection.h DynamicCollection.cpp Делал в студии (в ней всё работает). Но, при попытке сделать так: Код (C++): #include <DynamicCollection.h> DynamicCollection<int> DColl(); void setup() { DColl.Add(1); } void loop() {} Получаем это: Код (Text): 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>()' Может кто-нибудь сталкивался с подобным? Или просто я что-то не так сделал...
Файл. h Код (C++): void Add(T object); void Remove(T object); void RemoveAt(uint index); Разве не так: Код (C++): void DynamicCollection Add(T object); void DynamicCollection Remove(T object); void DynamicCollection RemoveAt(uint index);
Либо содержимое файла 'DynamicCollection.cpp' перенесите в файл 'DynamicCollection.h' (точнее в заголовочный файл нужно перенести все "шаблонные декларации"). Либо файл 'DynamicCollection.cpp' включайте через '#include', что не очень красиво: Код (C++): #include <DynamicCollection.h> #include <DynamicCollection.cpp> DynamicCollection<int> DColl(); void setup() { DColl.Add(1); } void loop() {} Проблема в том, что используются шаблоны и исходники с шаблонами компилируются не совсем так как исходники без шаблонов.