Функция члена шаблона MSVC «Объявление/определение не совпадает» ошибка компилятораC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Функция члена шаблона MSVC «Объявление/определение не совпадает» ошибка компилятора

Сообщение Anonymous »

Следующий кусок кода не компилируется на x64 MSVC v19.43 VS17.13 < /strong> с аргументами командной строки /Std: C ++ последняя /ZA /Wall /O2 < /code>. Тем не менее, он собирается на последних версиях GCC и Clang.

Код: Выделить всё

#include 
#include 
#include 

template 
class TestClass {
std::vector children;
public:
using iterator = typename std::vector::iterator;
std::ranges::subrange getChildren();
};

int main() {

TestClass obj;

return 0;
}

template 
std::ranges::subrange TestClass::getChildren() {
/* ... */
}
Использование Auto в качестве возврата типа для getChildren () (как в объявлении, так и в определении) сделает MSVC компилировать это.

Подробнее здесь: https://stackoverflow.com/questions/796 ... mpiler-err
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»