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

Ошибка в функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Бинарное дерево http://www.cyberforum.ru/cpp-beginners/thread1494195.html
Помогите исправить ошибку, компилятор ругается на 110 строку, не пойму почему( #include <iostream> #include <cstdlib> #include <cstdio> #include<fstream> #include <string> using namespace std;...
C++ Может кто-то перевести этот код из паскаля в с++ Есть код на Pascal. Может ли кто-то перевести? const n = 200; function O (s : string) : boolean; var i,l : integer; c : char; r : boolean; http://www.cyberforum.ru/cpp-beginners/thread1494194.html
C++ Присвоить каждому значению массива значение индекса
доброго времени суток. проблема - перебираем массив и присваиваем каждому значению массива значение индекса, но при отображении билибирда какая то. результат в картинке. #include <string>...
C++ Отсортируйте в массиве положительные элементы по возрастанию, отрицательные – по убыванию
Задание: Отсортируйте в массиве положительные элементы по возрастанию, отрицательные – по убыванию. Использовать три метода сортировки. в конце нужно сделать примерно так: массив: -2, 0, 5, -4, 6,...
C++ Графика + консоль. Как? http://www.cyberforum.ru/cpp-beginners/thread1494133.html
Вечер добрый! Подскажите как в С++ сделать графическое меню, с фоновой картинкой и прочими плюшками. А при нажатии на кнопку "Играть" вызывалась консольная игрушка (морской бой). Сама игрушка уже...
C++ Что значит ":" после параметров функции CSimpleString::CSimpleString(const char* p) : len(0), buff(nullptr) Что значит len(0), buff(nullptr) и как это называется ? подробнее

Показать сообщение отдельно
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1

Ошибка в функции - C++

06.07.2015, 21:22. Просмотров 204. Ответов 2
Метки (Все метки)

Здорова!
Есть код функции:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//глобальная функция которая будет возвращать интерфейс
BOOL GetClassObject(const int nClsid,const int nIid,void** ppvObj)
{
    cout <<"ppvObj="<<&(*ppvObj)<<"\r\n";
    
 
    switch(nIid)
    {
    case IID_IMOtion:
        IMotion* p=new CSpaceship();
        *ppvObj=p;
        break;
    default:
        *ppvObj=nullptr;
        return FALSE;
    }
 
    return TRUE;
}
ну и когда компилирую программу выводится ошибка:
1>d:\visual studio 2010\projects\com_model\com_model\class.cpp(18): error C2361: пропуск инициализации "p" из-за метки "default"
1> d:\visual studio 2010\projects\com_model\com_model\class.cpp(15): см. объявление "p"
1>
1>СБОЙ построения.

Комментирую default все нормально, или если если в самый верх переношу определение p, от так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
BOOL GetClassObject(const int nClsid,const int nIid,void** ppvObj)
{
    cout <<"ppvObj="<<&(*ppvObj)<<"\r\n";
//  IMotion* p=new CSpaceship();
 
    switch(nIid)
    {
    case IID_IMOtion:
        IMotion* p=new CSpaceship();
        *ppvObj=p;
        break;
/*  default:
        *ppvObj=nullptr;*/
        return FALSE;
    }
 
    return TRUE;
}
Почему нельзя делать так как у меня есть в коде выше, че не нравится default?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru