В настоящее время я выполняю упражнение, для которого я должен использовать матрицы шаблонов в качестве параметров во всех своих функциях и принудительно указывать необходимые типы данных в заголовке. Хотя я еще не знаю, как это сделать. Есть заголовок со следующей функцией и вторая функция с таким же синтаксисом (а также с тем же именем шаблона, если это уместно?):
template <typename multityp> void matsum( multityp **, multityp **, multityp **, int, int );
template void matsum <int> (int**, int**, int**, int, int);
template void matsum <double> (double**, double**, double**, int, int);
template void matsum <bool> (bool**, bool**, bool**, int, int);
При компиляции я получаю переменную ошибки или поле 'matsum', объявленное недействительным для многотипности в следующей функции, которую я поместил в другой заголовок, после чего несколько переменных не были объявлены ошибками:
void matsum ( multityp **matrix1, multityp **matrix2, multityp **ergebnis, int zeilen, int spalten ){
//Does stuff
}
multityp
не объявлено: stackoverflow.com/questions/364209/ . Учитывая, какmultityp
используется выше, вам не хватаетtemplate <typename multityp>
передvoid matsum
? - person parktomatomi   schedule 21.11.2020template <typename multityp>
как о части заголовка функции, поэтому я оставил его для определения тела. Теперь это работает! - person Mareya   schedule 21.11.2020