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

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

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

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

14.09.2013, 20:39. Просмотров 290. Ответов 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++
C++ Не компилиться код
C++ Есть объект типа T, но если вместо него подставить вызов функции, возвращающей T, код не компилится, почему?
Почему нехорошо себя ведёт конструктор класса (не компилится ничё), если ему параметром ссылку на константу? C++
C++ Задача не компилиться
C++ Программа должна включаться в 19:00 выключаться в 21:00
Не компилится программа, которая переводит градусы Цельсия по Фарангейту и наоборот C++
Почему я не могу ввести строчку используя меню, хотя программа работает без него C++
Программа не принимает больше одного значения, хотя должна C++
Программа выводит только 1 знак после запятой, хотя должна выводить больше C++
C++ Программа бесконечно компилится
Цикл должен выполниться несколько раз, и должна получиться таблица, но этого не происходит; почему? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Модератор
6449 / 4915 / 451
Регистрация: 14.02.2011
Сообщений: 16,300
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     Почему программа компилится, хотя компилиться не должна?
Ответ Создать тему
Опции темы

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