ToUppercase(str)
, как вы заявили, имеет тип void
.Вы не можете вызывать оператора доступа члена (.
) в void.
Если вы хотите связать вызовы таким образом, вы также можете вернуть переданную ссылку
std::string & ToUppercase(std::string & data)
{
transform(data.begin(), data.end(), data.begin(), (int(*)(int))toupper);
return data;
}
Если вы настаиваете на возврате void
по какой-то причине, ваш единственный допустимый вариант делать то, что вы делаете:
ToUUppercase(str);
if(str.find("AAA") != std::string::npos)
{
}