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

Объясните неявное преобразование в этом случае - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дружественные функции. Считайте текст и выведите на экран исходный текст, а затем предложения, содержащие определенное количество слов http://www.cyberforum.ru/cpp-beginners/thread786848.html
считайте текст и выведите на экран исходный текст, а затем предложения, содержащие определенное количество слов. При выполнении данного задания необходимо использовать дружественные функции....
C++ Создать класс Account. Задача из книги Дейтелов "Как програмировать на С++" Начал изучение С++, прочитал главу "Введение в классы и объекты" в книге Дейтелов "Как програмировать на С++", ничего не поняв прочитал её ещё раз. Приступил к заданиям после главы, несколько раз... http://www.cyberforum.ru/cpp-beginners/thread786823.html
C++ Копировать структуру в массив
Добрый день , при помощи кода получаю имя каталога , решил сделать рекурсивный вывод всех каталогов и подкаталогов , и соответственно цикл в цикле. Как можно метод Структуры entry->d_name копировать...
C++ Вычисление логического выражения
Доброго времени суток! Имеется программа для вычисления введенного с клавиатуры логического выражения, состоящего из операций & (“и”), | (“или”), > (“больше”), < (“меньше”), = (“равно”) и скобок....
C++ Воспользуйтесь рекуррентным соотношением xn = (xn-1)2 mod m http://www.cyberforum.ru/cpp-beginners/thread786791.html
2. Создайте функцию, которая принимает в качестве аргумента номер псевдослучайного числа, полученного при помощи генератора BBS, и возвращает это число x0=20 и m=1081. Воспользуйтесь рекуррентным...
C++ Как отправить сообщение в окошко дебаггера в Visual Studio ? Собственно помнится есть какая - то команда для вывода сообщения в окошко дебагера....Может кто напомнит? подробнее

Показать сообщение отдельно
alex_x_x
бжни
2449 / 1654 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
15.02.2013, 17:08
mzarb, я не понимаю, тут чтото не то:
1) у boost::scoped_ptr конструктор - explicit - это как раз обозначает, что конструкции вида boost::scoped_ptr = new Object() как раз работать не должны
2) я всю жизнь думал, что дедукция типов в шаблоне работает только для функций, для классов так работать не будет
3) ну у меня лично не компилируется подобный код (если Object ни от чего хитрого не унаследован, или что-нибудь еще в этом роде)

C++
1
2
3
4
5
6
7
8
9
#include <boost/scoped_ptr.hpp>  
 
class A {
 
};
 
int main () {
    boost::scoped_ptr p = new A;
}
Bash
1
2
3
4
5
alex@ubuntu:~/c++$ g++ sc.cpp 
sc.cpp: In function ‘int main()’:
sc.cpp:8:23: error: missing template arguments before ‘p’
sc.cpp:8:23: error: expected ‘;’ before ‘p’
alex@ubuntu:~/c++$ 3~
Добавлено через 33 минуты
Цитата Сообщение от mzarb Посмотреть сообщение
Kgfq, но лектор дальше использует этот объект "p" как указатель. И называет его с самого начала указателем, а не объектом.
это нормально, у scoped_ptr перегружены операторы -> и *, так что тут поведение такое же как и у всех умных указателей
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru