Код: Выделить всё
#include <stdio.h>
int main()
{
cout << "1";
return 0;
}
[root@zx cpp]# g++ -o 1 1.cpp
1.cpp: In function ‘int main()’:
1.cpp:5: error: ‘cout’ was not declared in this scope
не догоняю...
Модератор: Модераторы разделов
Код: Выделить всё
#include <stdio.h>
int main()
{
cout << "1";
return 0;
}
[root@zx cpp]# g++ -o 1 1.cpp
1.cpp: In function ‘int main()’:
1.cpp:5: error: ‘cout’ was not declared in this scope
Код: Выделить всё
#include <iostream>
using namespace std;
int main()
{
cout << "Hello\n";
return(0);
}
Red Gremlin писал(а): ↑20.09.2007 14:04Да, нет он прав. gcc на iostream.h deprecated ругается и советует просто iostream.
Red Gremlin писал(а): ↑20.09.2007 14:04Да, нет он прав. gcc на iostream.h deprecated ругается и советует просто iostream.
Код: Выделить всё
#include <iostream>
int main()
{
std::cout << "Hello, C++!" << std::endl;
return 0;
}
Sleeping Daemon писал(а): ↑20.09.2007 16:36Что за новамода? Было всё нормально - теперь дополнительные указания давай компилятору...
Код: Выделить всё
std::cout << "Hello, C++!" << std::endl;
zl3p писал(а): ↑20.09.2007 20:28Код: Выделить всё
std::cout << "Hello, C++!" << std::endl;
имхо, длиннова-то будет. Я запутался, как же всё же писать. Где эти стандарты описаны вообще?
Код: Выделить всё
using std::cout;
cout << "Hello";
Где эти стандарты описаны вообще?
Sparky писал(а): ↑20.09.2007 16:06Red Gremlin писал(а): ↑20.09.2007 14:04Да, нет он прав. gcc на iostream.h deprecated ругается и советует просто iostream.
Мало того, необходимо еще указать область видмости std.
v04bvs писал(а): ↑21.09.2007 19:46
http://anatolix.naumen.ru/Books/Standard?v=z8h
сразу предупрежу, там довольно тяжёлый для понимания текст, т.к. пишется он скорее для разработчиков компиляторов, чем для С++ программистов.
#include <iostream>
using namespace std;
cout << "Blah..."
- это для начинающих
#include <iostream>
std::cout << "Blah..."
-для опытных.
Код: Выделить всё
for (std::vector<std::string>::iterator it = ...)
Код: Выделить всё
typedef std::vector<std::string> StringArray;
for (StringArray::iterator it = ...)
Код:
main ()
{
printf("Hi");
}
Код:
$ gcc hello.c
hello.c: In function ‘main’:
hello.c:3: warning: incompatible implicit declaration of built-in function ‘printf’
Код: Выделить всё
#include <stdio.h>
int main()
{
int first, second, operation, result;
printf("Calculator\nWaiting: ");
scanf("%d%c%d", &first, &operation, &second);
switch(operation)
{
case '*': result=first*second; break;
case '/': result=first/second; break;
case '+': result=first+second; break;
case '-': result=first-second; break;
default: printf("Error...\n"); break;
}
printf("%d\n", result);
return 0;
}
Код: Выделить всё
$ gcc calculator.c -o calc
$ ./calc
Calculator
Waiting: 3*7
Error...
-1208356464
Код: Выделить всё
operation &= 0xFF
Решить вашу проблему можно по-разному: можно использовать для хранения char тип char, можно не забывать присваивать переменным начальные нулевые значения, можно вручную «выцеплять» младшие разряды, игнорируя случайный «мусор» в остальных. Лучше и правильнее всего первый способ. И не советую вот так просто игнорировать предупреждения компилятора, а он говорит своё веское слово насчёт вашей исходной программы.
Оператор SWITCH (переключатель), вызывает передачу управления к одному из нескольких операторов, в зависимости от значения выражения. Оператор имеет форму "SWITCH (выражение) оператор"
В выражении проводятся обычные арифметические преобразования, но результат должен иметь тип INT.
Код: Выделить всё
alexey@desktop:~$ gcc -o test{,.c}
test.c: В функции ‘main’:
test.c:7: предупреждение: формат ‘%c’ предполагает тип ‘char *’, но аргумент 3 имеет тип ‘int *’
alexey@desktop:~$ gcc --version
gcc (Ubuntu 4.3.3-5ubuntu4) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
Это свободно распространяемое программное обеспечение. Условия копирования
приведены в исходных текстах. Без гарантии каких-либо качеств, включая
коммерческую ценность и применимость для каких-либо целей.
alexey@desktop:~$
Код: Выделить всё
char operation;
Код: Выделить всё
alexey@desktop:~$ gcc -o test{,.c}
alexey@desktop:~$ ./test
Calculator
Waiting: 3*7
21
alexey@desktop:~$ gcc -Wall -pedantic -o test{,.c}
alexey@desktop:~$
Код: Выделить всё
koc@desktop ~ $ gcc -v
Используются внутренние спецификации.
Целевая архитектура: i686-pc-linux-gnu
Параметры конфигурации: /var/tmp/portage/sys-devel/gcc-4.3.2-r3/work/gcc-4.3.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.3.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.3.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.3.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.3.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --disable-fixed-point --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --disable-libgcj --with-arch=i686 --enable-languages=c,c++,treelang,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.3.2-r3 p1.6, pie-10.1.5'
Модель многопотоковости: posix
gcc версия 4.3.2 (Gentoo 4.3.2-r3 p1.6, pie-10.1.5)
Если же:
— то:Код: Выделить всё
char operation;
[code]alexey@desktop:~$ gcc -o test{,.c}
alexey@desktop:~$ ./test
Calculator
Waiting: 3*7
21
Rootlexx писал(а): ↑24.08.2009 01:32Ох, кратко не получится, да и так, чтобы было понятно, тоже вряд ли . Да и книгу порекомендовать не могу толком, ибо учил C не по книгам. Просмотрите раздел « Книги и Документация », там вроде было что-то.
Если хотите, свяжитесь со мной в личке, по наличии времени постараюсь объяснить, что будет непонятно.