У меня есть небольшая проблема с несколькими простыми строками кода.
Эти строки я называл мой метод:Массив указателя и обратный вызов
char** paras = new char*;
inputLength = charUtils::readParameterFromConsole(paras, paraCount, stringBeginningIndex);
Метод выглядит следующим образом:
int charUtils::readParameterFromConsole(char** &inputs, int ¶Count, int &stringBeginningIndex) {
char input[BUFFER_STRING_LENGTH];
cin.getline(input, BUFFER_STRING_LENGTH);
if(strlen(input) > 0)
{
bool stringBeginning = false;
char* part = "";
string partString = "";
for(int i = 0; i < paraCount; i++)
{
if (i == 0)
part = strtok(input, " ");
else
part = strtok(NULL, " ");
inputs[i] = part;
}
} else
{
cout << "Error! No Input!" << endl;
}
cout << &inputs[0] << endl;
cout << inputs[0] << endl;
return strlen(input);
}
В методе readParameterFromConsole являются значения правильны, но в вызывающем методе они Арен» t корреляции. Я столкнулся с этой проблемой, так как я реорганизовал код и создаю новый класс.
Может ли кто-нибудь дать мне совет, пожалуйста?
ли 'readParameterFromConsole (...)' изменить значения? – JaredC
Да, и в конце метода я использую простой вывод для проверки значений. Все правильно, но метод вызова потерял все значения. Парас имеет некоторые значения, которые я не могу объяснить. – CSchulz
Это просто «парас», который имеет неправильные значения? Или другие параметры тоже? Можете ли вы опубликовать код, чтобы показать, как 'readParameterFromConsole()' изменяет параметры и как вы выводите значения? – JaredC