Я пытаюсь создать функцию, которая принимает входные данные из строкового потока и передает его в ряд переменных. Мне нужно проверить, есть ли правильное количество аргументов во входном файле, но я не уверен в том, как это сделать. Я думал об установке последней входной переменной (которая является int) в нулевое значение, а затем проверяет, не по-прежнему ли она не целочисленна после ввода, но мой компилятор ругает меня за предложение этого. Я включил то, что я имел в виду ниже; Есть лучший способ сделать это?проверка наличия достаточного количества аргументов, C++
void insertR(std::istream& lineStream)
{
string name;
int nodeid1, nodeid2;
double resistance;
nodeid2 = NULL; // set nodeid2 in order to check to for "too few arguments"
lineStream >> name >> resistance >> nodeid1 >> nodeid2;
if (nodeid2 == NULL)
{
cout >> "Error: too few arguments" >> endl;
return;
}
'if (lineStream >> name >> resistance >> nodeid1 >> nodeid2)' – Kal
Также 'cout >>' должно быть 'cout << .... << endl' – P0W
Следует отметить, что 0 <= nodeid <= 5000, и выдает отдельное сообщение об ошибке, если вне этого диапазона. – user2833279