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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kravam
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,420
#1

Почему программа компилится, хотя компилиться не должна? - C++

14.09.2013, 20:39. Просмотров 298. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <windows.h>
#include <stdio.h>
using namespace std;
 
class foo
{
public:
    foo () {}
};
 
 
int main()
{
    foo(her);
    system("pause");
}
Оптимизация? ОК. Но, во-первых, я отключаю всякую оптимизацию:
Bash
1
g++ main.cpp -o main.exe -O0
А во вторых, я и это главное, как я понял из этой темы (например, из этих двух сообщений):
Конструктор, принимающий в качестве аргумента ссылку на объект, всё портит
Конструктор, принимающий в качестве аргумента ссылку на объект, всё портит

Сперва идёт построение кода, а оптимизация после. А у меня получается, что построение кода выполнено успешно, а какое на фиг успешное построение кода может быть при необъявленном идентификаторе "her"? Спасибо, кто откликнется.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2013, 20:39     Почему программа компилится, хотя компилиться не должна?
Посмотрите здесь:

Программа не принимает больше одного значения, хотя должна - C++
Написал прогу по мотивам этого https://code-live.ru/post/cpp-classes/ урока. Ошибок вроде нет, но после компиляции программа принимает...

Программа выводит только 1 знак после запятой, хотя должна выводить больше - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;iomanip&gt; using namespace std; int main(){ setlocale(LC_ALL, &quot;Russian&quot;); ...

Какая здесь ошибка? Программа должна считать сумму в столбцах, но почему-то неверно считает - C++
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; main() { int S=0, a, Sum; for (int i = 1; i &lt;=3; i++) for (int j = 1; j &lt;=5; j++) { ...

Почему я не могу ввести строчку используя меню, хотя программа работает без него - C++
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;string.h&gt; #include &lt;string&gt; using...

Программа бесконечно компилится - C++
#include &lt;iostream&gt; #include &lt;locale&gt; using namespace std; int main(int argc, char** argv) { int n; cin &gt;&gt;n; int A; ...

Есть объект типа T, но если вместо него подставить вызов функции, возвращающей T, код не компилится, почему? - C++
Есть объект типа vector&lt;int&gt;, но если вместо него подставить вызов функции, возвращающей vector&lt;int&gt;, код не компилится (template мутит...

Не компилится программа, которая переводит градусы Цельсия по Фарангейту и наоборот - C++
Это 2 моя прога, первая была простая которая выводила Hello World так что не судите если код плохой,еще учусь. Нужно написать...

Цикл должен выполниться несколько раз, и должна получиться таблица, но этого не происходит; почему? - C++
Данная программа не выполняется корректно, т.е. по заданию мне нужно создать таблицу с числами, вы увидите и думаю поймете по программе...

Программа должна включаться в 19:00 выключаться в 21:00 - C++
программа должна включаться в 19 00 выключаться в 21 00 как это сделать ?

Задача не компилиться - C++
Вот решил освоить данный язык программирования и столкнулся со следующими проблемами: // KR_3.cpp: определяет точку входа для консольного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zenw
154 / 110 / 3
Регистрация: 12.06.2013
Сообщений: 168
14.09.2013, 21:04     Почему программа компилится, хотя компилиться не должна? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Следите за руками:
C++
1
foo(her);
->
C++
1
foo (her);
->
C++
1
foo her;
Короче, С++ он такой, коварный. Вот вы только что переменную her с типом foo объявили, а сами этого не поняли.
ValeryS
Модератор
6539 / 5005 / 461
Регистрация: 14.02.2011
Сообщений: 16,648
14.09.2013, 21:11     Почему программа компилится, хотя компилиться не должна? #3
Цитата Сообщение от kravam Посмотреть сообщение
foo(her);
ну тебе уже объяснили
Цитата Сообщение от kravam Посмотреть сообщение
А у меня получается, что построение кода выполнено успешно, а какое на фиг успешное построение кода может быть при необъявленном идентификаторе "her"?
а вот ежли ты напишешь
C++
1
foo object(her);
т. е создать object класса foo
то получишь и her не объявлен и конструктора с параметрами нет
Yandex
Объявления
14.09.2013, 21:11     Почему программа компилится, хотя компилиться не должна?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru