Форум программистов, компьютерный форум CyberForum.ru

Си, использование вложенных файлов *.c - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как именно округляются float и double? http://www.cyberforum.ru/cpp-beginners/thread151139.html
Вот имеется double l, функция sqrt из cmath и следующие формулы: sqrt(2-2*sqrt(1-l*l/4)) sqrt(l*l/4+1-sqrt(1-l*l/4)-sqrt(1-l*l/4)+1-l*l/4) sqrt(l*l/4+(1-sqrt(1-l*l/4))*(1-sqrt(1-l*l/4))) Если l длина стороны вписанного в круг с радиусом 1 правильного многоугольника с 2^n сторонами, то формула должна вычислить длину стороны вписанного в тот же круг правильного многоугольника с 2^{n+1}...
C++ Компилятор C не C++ Где можно скачать один крмпилятор C (без C++!!!) можно можно в IDE главное чтобы весил как можно меньше в google искал он мне выдаёт копиляторы C/C++ и весят они до... короче много!!! Заранее всем спасибо!!! http://www.cyberforum.ru/cpp-beginners/thread151136.html
C++ перевод строк
как перевести строку при работе с файлами? заранее спасибо
знаю паскаль, учу с++. какие языки ещё нужны? может ассемблер, или яву? C++
знаю паскаль, учу с++. какие языки ещё нужны? может ассемблер, или яву?
C++ Ошибка при компиляции "Cannot convert `std::string' to `const char*" http://www.cyberforum.ru/cpp-beginners/thread151125.html
Подскажите пожалуйста.Компилятор указывает на 13-ой позиции на ошибку типа: cannot convert `std::string' to `const char* for argument `1' to `void strcount(const char*)' В чём может быть проблема при вводе строки(объект string)? #include <cstdlib> #include <iostream> #include <string> const int ArSize = 10; void strcount(const char * str); int main(int argc, char *argv) {
C++ не находит фаил фаил с реализацией функций-членов класса, не может найдти фаил с опсанием класса. вот: подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17014 / 5419 / 335
Регистрация: 30.03.2009
Сообщений: 14,667
Записей в блоге: 26
02.07.2010, 15:33     Си, использование вложенных файлов *.c
easybudda, грубо говоря, да. Описание нужно для того, чтобы компилятор знал, как загружать параметры. По стандарту Си можно делать вызов функции без описания. При этом параметры будут "as is" - т.е. тех типов, которые прописаны в вызове. Это может привести к ошибкам. Например

C
1
2
/* Файл 1 */
func (1, 2);
C
1
2
3
4
5
/* Файл 2 */
void func (double x, double y)
{
  ...
}
При компиляции файла 1 если не подцепитьпрототип функции func, то компилятор построит код так, как будто бы функция имеет два int'а в параметрах (поскольку поданы целочисленные константы 1 и 2). Если подцепить описание, то компилятор перед загрузкой параметра сделает преобразование int -> double

Добавлено через 1 минуту
Разработчики Си++ учли эту особенность и запретили вызов функции без описания. Хотя на это были в том числе и другие причины, но тем не менее на Си++ вариант без описания не прокатит
 
Текущее время: 09:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru