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

Скобки у конструктора - C++

Восстановить пароль Регистрация
 
bumbaram
 Аватар для bumbaram
47 / 47 / 1
Регистрация: 13.02.2012
Сообщений: 176
30.01.2013, 23:09     Скобки у конструктора #1
Задавал подобный вопрос, однако следующий код все равно ставит меня в тупик.
Почему такой код нормально компилируется и работает:
C++
1
2
        BFGlobalServiceProxy pr;
        int result = pr.login(login, loginResp);
а такой выдает ошибку при компиляции:
C++
1
2
        BFGlobalServiceProxy pr();
        int result = pr.login(login, loginResp);
ошибка в qtcreator
ошибка: request for member 'login' in 'Betfair:: pr', which is of non-class type 'BFGlobalServiceProxy()'
Объясните, пожалуйста, чего я не понимаю?
сигнатура класса
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class SOAP_CMAC BFGlobalServiceProxy : public soap
{ public:
    /// Endpoint URL of service 'BFGlobalServiceProxy' (change as needed)
    const char *soap_endpoint;
    /// Constructor
    BFGlobalServiceProxy();
    /// Constructor with copy of another engine state
    BFGlobalServiceProxy(const struct soap&);
    /// Constructor with endpoint URL
    BFGlobalServiceProxy(const char *url);
    /// Constructor with engine input+output mode control
    BFGlobalServiceProxy(soap_mode iomode);
    /// Constructor with URL and input+output mode control
    BFGlobalServiceProxy(const char *url, soap_mode iomode);
    /// Constructor with engine input and output mode control
    BFGlobalServiceProxy(soap_mode imode, soap_mode omode);
....
    virtual int login(_ns1__login *ns1__login, _ns1__loginResponse *ns1__loginResponse)
....
Как скобки у конструктора влияют на полученную ошибку?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MasterJack
1 / 1 / 0
Регистрация: 30.01.2013
Сообщений: 8
30.01.2013, 23:22     Скобки у конструктора #2
Цитата Сообщение от bumbaram Посмотреть сообщение
BFGlobalServiceProxy pr();
это декларация функции с именем pr которая не принемает параметров и возвращает объект класса BFGlobalServiceProxy
bumbaram
 Аватар для bumbaram
47 / 47 / 1
Регистрация: 13.02.2012
Сообщений: 176
30.01.2013, 23:38  [ТС]     Скобки у конструктора #3
Цитата Сообщение от MasterJack Посмотреть сообщение
это декларация функции с именем pr которая не принемает параметров и возвращает объект класса BFGlobalServiceProxy
если это правда, то я не понимаю каким образом компилятор считает объявление функции внутри метода. А если я хочу создать переменную на стеке не с пустым конструктором, а например
C++
1
2
soap _soap;
BFGlobalServiceProxy pr(&_soap);
Это типа будет означать декларацию функции с 1 параметром?
MasterJack
1 / 1 / 0
Регистрация: 30.01.2013
Сообщений: 8
30.01.2013, 23:48     Скобки у конструктора #4
Цитата Сообщение от bumbaram Посмотреть сообщение
А если я хочу создать переменную на стеке не с пустым конструктором, а например
Это типа будет означать декларацию функции с 1 параметром?
нет, будет создана переменная
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
30.01.2013, 23:49     Скобки у конструктора #5
bumbaram, подобное распространяется только на пустые скобки
Yandex
Объявления
30.01.2013, 23:49     Скобки у конструктора
Ответ Создать тему
Опции темы

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