не могу найти ошибку в коде

компьютеры с++ debug

int read_line_without_comments(std::ifstream stream, std::string line, unsigned int* line_counter)
{
while(line[0]=='#')
{
if (stream.eof())
{return -1;}

stream.readline(line);
*line_counter++;
}
return 0;
}

int func()
{
...
std::ifstream file("./file");
if (!virtual_hosts_file)
{error_msg(CONFIG_READER_ERROR, (char*)"can't open file\n", true);}

unsigned int host_counter=0;
unsigned int line_counter=0;
std::string line="#";
while (read_line_without_comments(virtual_hosts_file, line, &line_counter)!=-1)
{
if ((line!="<tag>")&&(line!="")) //if some trash
{std::cout<<"\nline :"<<line_counter<<":\n";
error_msg(CONFIG_READER_ERROR, (char*)"syntax error\n", true);}
while (line!="</tag>") //read host params
{
if (read_line_without_comments(virtual_hosts_file, line, &line_counter)==-1)
{std::cout<<"\nline "<<line_counter<<":\n";
error_msg(CONFIG_READER_ERROR, (char*)"there mustn't be a EOF\n", true);}
...
}
host_counter++;
}
...
*/return NO_ERROR;
}

"while (read_line_without_comments(virtual_hosts_file, line, &line_counter)!=-1)"
на этой строке почему-то получаю:
note: synthesized method 'std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(const std::basic_ifstream<char, std::char_traits<char> >&)' first required here
error: initializing argument 1 of 'int read_line_without_comments(std::ifstream, std::string, unsigned int*)'

но на этой строке всё отлично и всё работает
"if (read_line_without_comments(virtual_hosts_file, line, &line_counter)==-1)"
Ответы:
Нужно, чтобы функция принимала ссылку на поток. Могу предположить, что компилятор, встретив две одинаковых ошибки, сообщает только о первой из них.


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.