Я новичок в C++, но я работаю над проектом, занимающимся выполнением разных операций с наборами, и один из них просто распечатывает его, если множество конечно. SoS - используемый объект, который просто обозначает набор строк и имеет вектор строк и логический элемент в качестве своих элементов данных. Я создал функцию, чтобы проверить, является ли набор конечным, и я пытаюсь вызвать его в своей функции печати, но я продолжаю получать сообщение об ошибке «no member named» isFinite. «Heres, что у меня есть, любая помощь очень ценится.C++ с использованием функций внутри функций
void SoS::print() const{
if (m_vos.isFinite() == true){
for (int i = 0; i < m_vos.size(); i++){
cout << m_vos[i]<< endl;
}
}
else{
cout << "COMPLEMENT OF:"<< endl;
for (int i = 0; i< m_vos.size(); i++){
cout << m_vos[i]<< endl;
}
}
}
bool SoS::isFinite() const{
if (isfinite(m_vos.size()){
return true;
}
return false;
}
ли это говоря 'ни один член не назвал«isFinite»' или это говорят 'ни один член не назвал«isfinite»' ? В методе 'isFinite' вы вызываете' isfinite'. Также 'isFinite' не имеет никаких параметров. И если ваша первая строка метода вызывает указанный метод, вы получите бесконечную рекурсию. –
Что такое 'm_vos'? Он выглядит как член 'SoS', но не является указателем. Вам нужно вызвать 'SoS :: isFinite()' на объект 'SoS', или вы можете вызвать его из другого метода' SoS'. – Tas
@Tas 'm_vos' может быть элементом-значением, а не всем объектам нужны указатели для их использования. – Dai