Яндекс.Практикум C++ Что я делаю не так?
Вся проверка должна быть query[i] == ' '

to_string(32) - вернет вам "32" вместо пробела. Тогда уж можно делать (char)32 или static_cast<char>(32). Но ' ' - все равно лучше.

И еще вы не выводите длину всей строки в конце - ведь там всегда заканчивается слово (может быть пустое).
Нашёл ответ!
В конце функции main надо было дописать: cour << query.size() << endl;
Код:
#include <iostream>
#include <string>

using namespace std;

int main() {
    string query;
    getline(cin, query);
    
    // выведите все индексы символов, следующие за словами
    for (int i = 0; i < query.size(); i++){
        if(to_string(query[i]) == to_string(32)){
            cout << i << endl;
        }
    }
    cout << query.size() << endl;
}