Во-первых, я хочу сказать, что я новичок. Извините за мои глупые вопросы.Невозможно преобразовать строку в const char/string * to int *
Моя программа должна запросить количество слов, которые вы хотите вставить. Особо сказано, что эта длина табуляции - это длина вкладки указателей, указывающая на вкладку слов (может показаться запутанной, но английский не является моим первым языком , мои извинения, я также не совсем понимаю указатели).
Вкладка слов также должна иметь точную длину для каждого слова, следовательно, strlen
. Что я делаю не так?
int il,len;
string x;
cout<<"Amount of words: ";
cin>>il;
int **t;
t=new int*[il];
for(int i=0; i<il; i++)
{
cout<<"Word: ";
cin>>x;
len=strlen(x);
t[i]=new string[len];
cout<<endl;
}
cout<<"You wrote:"<<endl;
for(int i=0; i<il; i++)
{
cout<<t[i];
delete [] t[i];
}
delete[] t;
'strlen' не принимает строковый объект класса, но константный указатель на строку символов' символ * ' – Raindrop7
Что есть вкладка? Вы имеете в виду массив (как в таблице)? –
't' имеет тип' int ** ', а' t [i] 'имеет тип' int * '. Вы не можете назначить объект 'std :: string *' 'int *'. В сочетании с некоторыми другими ошибками в вашем коде; Вы можете взглянуть на некоторые [ресурсы] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list), чтобы помочь вам разобраться в системе типа C++, чем мы можем здесь объяснить – WhiZTiM