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

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

Восстановить пароль Регистрация
 
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
14.09.2013, 20:39     Почему программа компилится, хотя компилиться не должна? #1
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++ Есть объект типа T, но если вместо него подставить вызов функции, возвращающей T, код не компилится, почему?
Почему нехорошо себя ведёт конструктор класса (не компилится ничё), если ему параметром ссылку на константу? C++
C++ Пользователь вводит 10 чисел программа должна выдать 2 максимальных(берём от 1 до 10,если выпадает 2 10,то программа должна выдать 2 10,а не 10,9)
C++ Программа должна включаться в 19:00 выключаться в 21:00
Не компилится программа, которая переводит градусы Цельсия по Фарангейту и наоборот 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
Модератор
6375 / 4841 / 443
Регистрация: 14.02.2011
Сообщений: 16,044
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     Почему программа компилится, хотя компилиться не должна?
Ответ Создать тему
Опции темы

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