Как сравнить строку C ++, используя qsort в c?

Я пытался узнать функцию qsort c-библиотекиstdlib, Это предусмотрено даже вc++, Но я не понимаю, как использовать их для сортировкиc++ строки. Я не уверен, какие параметры должны быть дляsizeof() оператор и будь моимcompare_str Код правильный. Я попробовал этот код:

    #include<iostream>
    #include<cstdlib>
    using namespace std;
    #include<string>

    int compare_str( const void *a, const void *b){
       string  obj = (const char*)a;
       string obj1 = (const char*)b;
       return obj.compare(obj1);
    }
    int main(){
        string obj[4] = {"fine", "ppoq", "tri", "get"};
        qsort(obj, 4, sizeof(obj[0].length()), compare_str);
        for( int i=0; i<4; i++)
            cout<<obj[i]<<endl;
        return 0;
    }

Мой вывод был:

ppoq
tri
get
fine

Я не могу разобрать ошибку. Пожалуйста помоги.

Ответы на вопрос(6)

Ваш ответ на вопрос