У меня есть предложение для вас. Во-первых, вы не должны вставлять using namespace std;
в ваш код. Это только добавляет путаницы и считается плохой практикой. Я думаю, что было бы неплохо, если бы вы решили изучить STL, если ваша цель - углубленное изучение C ++. Что касается ошибки, я думаю, что уже опубликованный ответ показывает ваши неправильные предположения.
#include <iostream>
#include <cstdlib>
#include <locale>
#include <set>
#include <algorithm>
int main()
{
std::string name;
std::cin>>name;
std::set<char> vowels={'a','u','i','e','o'};
std::transform(name.begin(), name.end(), name.begin(), [](auto v){ return std::tolower(v, std::locale());});
auto iter=std::remove_if(name.begin(), name.end(), [&vowels](auto v){ return vowels.find(v)!=vowels.end();});
name.erase(iter,name.end());
for (int i = 0 ; i < name.length() ; i++)
{
std::cout<<'.'<<name[i];
}
return EXIT_SUCCESS;
}