[Dúvida besta] a variável do tipo Char - C++

1. [Dúvida besta] a variável do tipo Char - C++

Gabriel Oliveira da Silva
Gabrielz

(usa Arch Linux)

Enviado em 01/04/2015 - 16:02h

#include <iostream>

using namespace std;

int main(){
char valor = "Viva o Linux!";

cout << valor;
return 0;
}


Seguinte... estou tentando compilar este código no meu Ubuntu, porém, sempre dá o seguinte erro de compilação:
g++ -Wall -o "exemplo" "exemplo.cpp" (no diretório: /home/gabriel/Área de Trabalho)
exemplo.cpp: In function ‘int main()’:
exemplo.cpp:6:15: error: invalid conversion from ‘const char*’ to ‘char’ [-fpermissive]
char valor = "Viva o Linux!";
^
Compilação falhou.


O que eu faço? Me ajudem!
Toda vez que retiro as variáveis char dos meus códigos-fontes, sempre compila.


  


2. Re: [Dúvida besta] a variável do tipo Char - C++

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 01/04/2015 - 16:37h

Amigo , isso ai é um Array de char

1 char possui a capacidade de armazenar apenas uma letra, já um vetor de char pode armaenar varios caracteres

Segue exemplo:


char a = 'a'; // Com aspas simples
char vetor[13] = {'V','i','v','a',' ','o',' ','L','i','n','u','x','\0'}; // '\0' indica fim da frase

//Ou como no seu "exemplo":

char frase[] = "Viva o Linux";

cout << a << endl << vetor << endl << frase << endl;


Deu pra pegar a ideia?

Qualquer duvida soh postar aki

Espero ter ajudado

[]'s

T+

Recomendo aprender C, ou pelo menos , strings : https://www.youtube.com/watch?v=YaoW-c6pGTg


3. Re: [Dúvida besta] a variável do tipo Char - C++

Paulo
paulo1205

(usa Ubuntu)

Enviado em 02/04/2015 - 01:27h

Thihup escreveu:

(...)

Recomendo aprender C, ou pelo menos , strings : https://www.youtube.com/watch?v=YaoW-c6pGTg


Sua explicação foi excelente, Thiago. Mas eu acho que você poderia ter tomado mais cuidado com suas dicas finais.

Por mais que eu considere útil saber C -- e eu considero!, e, aliás, uso muito mais C do que C++ no meu trabalho --, se alguém vem com uma dúvida de C++, é temerário dizer “aprenda C”. Eis alguns motivos:

    - A explicação que você deu é totalmente cabível em C++, sem a necessidade de recorrer a C para justificá-la (a não ser para explicar a evolução histórica comum das duas linguagens).

    - Você não sabe por qual motivo ele está aprendendo C++ (pode não ser por vontade própria, mas por obrigação escolar, e uma troca, nessa situação, pode não ser uma opção).

    - C não é um prerrequisito para C++.

    - Não se pode dizer, fora de um contexto específico, que “C é melhor do que C++”, nem vice-versa (se o fizer, você não mostrará nada além de sua preferência pessoal, com grandes chances de ter como base alguns preconceitos).

    - O suporte a strings oferecido pela biblioteca padrão do C++ (classe std::string) é muito mais completo do que o oferecido pelo C e sua biblioteca padrão.


Outra coisa é quanto à dica do vídeo. Eu considero louvável o desprendimento do Ítalo em publicar os vídeos do "De Aluno Para Aluno", mas não dá para deixar de registrar que ele incorre em muitos equívocos durante as explicações.

Neste que você indicou agora (e também no vídeo seguinte na série de aulas), ele diz que vai falar de strings, mas simplesmente não fala delas! Em lugar disso, ele mostrou apenas arrays de caracteres, sem o terminador '\0' que caracteriza o que a linguagem e a biblioteca padrão chamam de string. Além disso, ele usa uma terminologia propensa a causar confusão (por exemplo, ao traduzir string como “conjunto de caracteres”, uma expressão muito mais usada no contexto do conjunto de símbolos usados para representar informações, tais como ASCII, ISO-8859-1 ou Unicode).

Ironicamente, a pior parte é que o Ítalo tem uma didática excelente, falando com facilidade e de um jeito fácil de assimilar. Com isso, as impropriedades que ele diz acabam se transmitindo com muita facilidade.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts