resolvido

Iniciado por XSSinjection, 06 de Junho de 2011, 17:43

tópico anterior - próximo tópico

XSSinjection

Bem, estou começando a aprender c/c++, então fui no terminal e digitei uma vez; apt-get install gcc, depois install g++...
Então salvei um código em C e compilei assim; gcc teste.c -o teste.
Depois fui compilar esse código; (dessa maneira; g++ -o teste teste.cpp)
#include <stdio.h>
int main()
{
   cout << "O tamanho de um int e:\t\t" << sizeof(int) << "bytes.\n";
   cout << "O tamanho de um um short int e:\t" << sizeof(short) <<"bytes.\n";
   cout << "O tamanho de um long int e:\t" << sizeof(long) <<"bytes.\n";
   cout << "O tamanho de um char e:\t\t" << sizeof(char) <<"bytes.\n";
   cout << "O tamanho de um bool e:\t\t" << sizeof(bool) <<"bytes.\n";
   cout << "O tamanho de um float e:\t\t" << sizeof(float) <<"bytes.\n";
   cout << "O tamanho de um double e:\t" << sizeof(double) <<"bytes.\n";
return 0;
}
e ta aparecendo assim;
g++ -o propri propri.cpp
propri.cpp: In function 'int main()':
propri.cpp:4:2: error: 'cout' was not declared in this scope


Poderiam me ajudar?


Valeu pessoal, deu certinho a compilação! Esse fórum é a salvação. :D
Uns nascem normais...Choram e pedem atenção
Outros já nascem diferentes... IF (sentir dor) {chorar e pedir mamá}; ELSE {não chorar e dormir em silêncio, até que consiga alcançar o teclado};
                        YES,WE ARE LEGION!


fpissarra

Citação de: XSSinjection online 06 de Junho de 2011, 17:43
Bem, estou começando a aprender c/c++, então fui no terminal e digitei uma vez; apt-get install gcc, depois install g++...

Instale o build-essentials:
$ [b]sudo apt-get install build-essentials[/b]

Citação de: XSSinjection online 06 de Junho de 2011, 17:43
Depois fui compilar esse código; (dessa maneira; g++ -o teste teste.cpp)

#include <stdio.h>
int main()
{
    cout << "O tamanho de um int e:\t\t" << sizeof(int) << "bytes.\n";
    cout << "O tamanho de um um short int e:\t" << sizeof(short) <<"bytes.\n";
    cout << "O tamanho de um long int e:\t" << sizeof(long) <<"bytes.\n";
    cout << "O tamanho de um char e:\t\t" << sizeof(char) <<"bytes.\n";
    cout << "O tamanho de um bool e:\t\t" << sizeof(bool) <<"bytes.\n";
    cout << "O tamanho de um float e:\t\t" << sizeof(float) <<"bytes.\n";
    cout << "O tamanho de um double e:\t" << sizeof(double) <<"bytes.\n";
return 0;
}

e ta aparecendo assim;

g++ -o propri propri.cpp
propri.cpp: In function 'int main()':
propri.cpp:4:2: error: 'cout' was not declared in this scope

E isso está correto... seu código tem um errinho e está faltando outra coisa. O errinho é o arquivo de header incluído: ao invés de stdio.h deveria ser iostream. O que está faltando é incluir o namespace std[/n]:

#include <iostream> /* sem o .h mesmo! */

/* cout é definido no namespace std! */
using namespace std;

int main()
{
  cout << "O tamanho de um int e:\t\t" << sizeof(int) << "bytes.\n";
  cout << "O tamanho de um um short int e:\t" << sizeof(short) <<"bytes.\n";
  cout << "O tamanho de um long int e:\t" << sizeof(long) <<"bytes.\n";
  cout << "O tamanho de um char e:\t\t" << sizeof(char) <<"bytes.\n";
  cout << "O tamanho de um bool e:\t\t" << sizeof(bool) <<"bytes.\n";
  cout << "O tamanho de um float e:\t\t" << sizeof(float) <<"bytes.\n";
  cout << "O tamanho de um double e:\t" << sizeof(double) <<"bytes.\n";

  return 0;
}

CitarPoderiam me ajudar?
Ai está, espero ter ajudado!

Darcamo

A biblioteca stdio.h é o cabeçalho para a biblioteca padrão da linguagem C, e não do C++. Dentre as funções declaradas nessa biblioteca você encontra, por exemplo, a função printf, que é a função usada para mostrar mensagens na tela em C. No entanto como o que você está querendo usar é C++ então o cabeçalho que você deve incluir é o iostream (não tem ".h" no nome). Como você não incluiu o iostream então o compilador não sabe o que é "cout" e por isso retornou o erro
propri.cpp:4:2: error: 'cout' was not declared in this scope

Além disso, em C++ é comum a necessidade de especificar o"namespace" (você deve aprender sobre eles depois), que no caso da biblioteca padrão é "std". Nesse caso para usar o cout você precisaria escrever std::cout no lugar de cout. Para evitar digitar esse "std::" todo o tempo basta colocar a linha abaixo antes da main
using namespace std;

O código completo ficaria
#include <iostream>

using namespace std;

int main()
{
    cout << "O tamanho de um int e:\t\t" << sizeof(int) << "bytes.\n";
    cout << "O tamanho de um um short int e:\t" << sizeof(short) <<"bytes.\n";
    cout << "O tamanho de um long int e:\t" << sizeof(long) <<"bytes.\n";
    cout << "O tamanho de um char e:\t\t" << sizeof(char) <<"bytes.\n";
    cout << "O tamanho de um bool e:\t\t" << sizeof(bool) <<"bytes.\n";
    cout << "O tamanho de um float e:\t" << sizeof(float) <<"bytes.\n";
    cout << "O tamanho de um double e:\t" << sizeof(double) <<"bytes.\n";
    return 0;
}