У меня есть пустой класс с тем же именем, что и пустая функция.Когда я пытаюсь передать этот класс в качестве параметра шаблона, я получаю сообщение об ошибке:
" несоответствие типа / значения в аргументе 1 "
" 'Test'недопустимый аргумент типа шаблона для параметра '_Ty'"
Обратите внимание:
#include <vector>
void Test() {
}
class Test {
};
int main() {
std::vector<Test> test;
}
Изменение на
std::vector<class Test>
, кажется, работает, но яне удалось выяснить, требуется ли это по стандарту или просто случайно поддерживается моим компилятором.
Может кто-то указать, как решить эту проблему или ссылку на стандарт, который требует этогоповедение?