mensagens de erro "error: ‘to_string’ is not a member of ‘std’ " e "error: no matching function for

1. mensagens de erro "error: ‘to_string’ is not a member of ‘std’ " e "error: no matching function for

LINER DE SOUZA SANTOS
linersantos

(usa Ubuntu)

Enviado em 04/06/2020 - 13:00h

Boa tarde.
escrevi um programa para ler arquivos de um diretorio e gravar o conteudo em um arquivo unico:
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>

using namespace std

int main()
{
//Abre o arquivo de saida
ofstream outFile;
outFile.open("./res.txt");

int N = 10;//n&#65533;mero de arquivos
//Abre cada arquivo, l&#65533; ele e imprime em res.txt
for(int i=0;i<N;i++){
ifstream inFile;//stream do arquivo de entrada que vou ler
//ifstream file(inFile.c_str());
//gera o nome do arquivo de entrada, seria "./teste1/i.txt"
string nomeDoArquivo;
nomeDoArquivo = "./teste1/"+std::to_string(i)+".txt";

inFile.open(nomeDoArquivo); //abre o arquivo
//testa se abriu o arquivo
if(inFile.fail()){
cout << "N&#65533;o abriu o arquivo" << nomeDoArquivo << endl;//se n&#65533;o abriu, imprime na linha de comando qual arquivo n&#65533;o abriu
}
//Agora l&#65533; o arquivo e imprime em res, depois tem mudar para ler uma matriz ao inv&#65533;s de um n&#65533;mero
string x;
while(inFile>>x)
{
outFile << x << endl;//l&#65533; o conte&#65533;do do arquivo inFile e imprime em outFile (res.txt) e pula uma linha

}
inFile.close();
}

return 0;
}

Só que na hora de compilar, aparecem duas mensagens de erro:

error: ‘to_string’ is not a member of ‘std’

error: no matching function for call to ‘std::basic_ifstream<char>::open(std::__cxx11::string&)’

Não sei o que pode estar errado.


  


2. Re: mensagens de erro "error: ‘to_string’ is not a member of ‘std’ " e "error: no matching function for

LINER DE SOUZA SANTOS
linersantos

(usa Ubuntu)

Enviado em 04/06/2020 - 18:05h

resolvi.
na hora de compilar, tem q digitar :
-std=c++11
e.g.
g++ main.cpp -o main -std=c++11


3. Re: mensagens de erro

Nick Us
Nick-us

(usa Slackware)

Enviado em 04/06/2020 - 23:27h

linersantos escreveu:
resolvi.
na hora de compilar, tem q digitar :
-std=c++11
e.g.
g++ main.cpp -o main -std=c++11

DICA 1: Qdo postar código, seleciona ele e coloque entre as TAGS pra ele ficar visualmente melhor aqui! É o botão ao lado esquerdo da CAM da Mensagem!

Exemplo de como fica melhor
#include <stdio.h> // Comentário
int main(void) {
return 0;
}

DICA 2:
Aconselho a compilar assim:
g++ Test.cpp -o Test -O3 -Wall -pedantic -pedantic-errors -Werror 

Vai aparecer mais erros, vc deve resolver eles para que seu código não tenha Bugs, esteja dentro das Normas e certinho.
Vale a pena! Aos poucos vc resolve todos os erros, foi comigo assim. E uma vez deixando o código direitinho vc programa melhor!



4. Re: mensagens de erro "error: ‘to_string’ is not a member of ‘std’ " e "error: no matching function for

Nick Us
Nick-us

(usa Slackware)

Enviado em 04/06/2020 - 23:34h

linersantos escreveu:
escrevi um programa para ler arquivos de um diretorio e gravar o conteudo em um arquivo unico:

#include <sstream>

using namespace std

int main()


Não sei o que pode estar errado.


Seu código não compilou porque vc esqueçeu de colocar PONTO/VÍRGULA ao final de: using namespace std
CORRETO:
using namespace std; 

Uma vez corrigido ele aceita compilar com todos os tratamentos de erros assim:
g++ Test.cpp -o Test -O3 -Wall -pedantic -pedantic-errors -Werror 








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts