Avatar ·

Wie speichert man Definitionen von Template-Funktionen korrekt in einer .cpp-Datei in C++?

Hallo! Ich lerne C++ und bin auf ein Problem gestoßen, das ich seit zwei Tagen nicht lösen kann. Ich schreibe eine kleine Container-Klasse mit Templates. Ich habe beschlossen, die Deklaration und Implementierung wie bei normalen Klassen in verschiedene Dateien aufzuteilen. Hier ist ein Beispiel:\n\n```cpp\n// MyArray.h\ntemplate\nclass MyArray {\nprivate:\n T* data;\n int size;\npublic:\n MyArray(int s);\n ~MyArray();\n T& operator[](int index);\n};\n\n// MyArray.cpp\n#include "MyArray.h"\ntemplate\nMyArray::MyArray(int s) : size(s) {\n data = new T[size];\n}\n\ntemplate\nMyArray::~MyArray() {\n delete[] data;\n}\n\ntemplate\nT& MyArray::operator[](int index) {\n return data[index];\n}\n\n// main.cpp\n#include "MyArray.h"\nint main() {\n MyArray arr(10);\n```