Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
141 / 117 / 26
Регистрация: 07.12.2014
Сообщений: 371

Ошибка при передаче класса в функцию

20.06.2015, 21:37. Показов 746. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть класс WTExpressionBox.Внутри он инкапсулирует нативную структуру TExpressionBox.Вот грубый код, который набросал просто чтобы смоделировать ситуацию без лишних методов и полей

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    
ref class WSldDictionary;
   public ref class WExpressionBox sealed
    {
        friend ref class WSldDictionary;
    public:
        WExpressionBox(){}
        void WriteText(Platform::String^ str)
        {
            std::wstring tx = std::wstring(str->Begin(), str->End());
            _expressionBox->WriteText(tx);
        }
        
    private:
        TExpressionBox* GetPointer()
        {
            return _expressionBox.get();
        }
        std::auto_ptr<TExpressionBox> _expressionBox;
    };
Этот класс передается в, например, метод DoSomething

C++
1
2
3
4
5
WSldError WSldDictionary::DoSomething(WExpressionBox^ box)
    {
        box->GetPointer();
        return WSldError(1);
    }
При компиляции выдает следующие ошибки

Error C2027 use of undefined type 'EngineWrapper::WExpressionBox'
Error C2227 left of '->GetPointer' must point to class/struct/union/generic type
Error IntelliSense: pointer to incomplete class type is not allowed

Никак не могу понять что именно ему не нравится.Перед определением класса WSldDictionary написал ref class WExpressionBox.
Если убрать строчку с обращением к box то всё компилируется. Может кто-то объяснить, пожалуйста?)

Добавлено через 3 минуты
Извиняюсь))нашёл ошибку.Не сделал инклуд хедера с определением класса.Тему можно закрыть
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.06.2015, 21:37
Ответы с готовыми решениями:

VS 2012: Ошибка при передаче аргументов в функцию WriteLine()
Господа, приветствую! разбираю задачки из книги Айвора Хортона (Visual C++ 2010. Полный курс) Есть код в Visual C++ 2012: ...

Ошибка при передаче объекта класса в функцию, а может и нет
Здравствуйте, гляньте пожалуйста код, в чем проблема? Спасибо. Ошибка : main.cpp:73:5: error: use of undeclared identifier 'Scan' ...

Одинаково ли быстродействие: 1. при передаче параметров в функцию или 2. создание кортежа и передаче его в функцию?
Одинаково ли быстродействие: 1. при передаче параметров в функцию или 2. создание кортежа и передаче его в функцию? Зависит ли это от...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.06.2015, 21:37
Помогаю со студенческими работами здесь

Ошибка при передаче строк в функцию, ошибка при формировании дерева
Курсовой проект, в основе база данных, данные записываются в двоичное дерево. Есть 2 проблемы: 1) Если я считываю структуру с файла...

Ошибка при передаче результата метода класса
Добрый день Есть сервер: using System; using System.Runtime.Serialization; using System.Collections.Generic; using...

Ошибка при передаче указателя на массив из класса
Есть класс матриц, созданный через массивы и в нем метод, который должен возвращать указатель, для работы с матрицей. class Matrix { ...

Ошибка при передаче в скрытый параметр класса.
В функции считываю из входного файла некоторые значения(x1,x2,y1,y2,alph,omeg,rad,POG,park и тп) с помощью файлового потока. Программа...

Ошибка при передаче в функцию
Хочу передать в функцию строку и там ее заполнить, подчеркивает void karta(MyStruct s.karta,int size); И пишет: 1 IntelliSense:...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru