Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2010, 02:18   #1
Olegaaator
Новичок
Джуниор
 
Регистрация: 12.12.2010
Сообщений: 2
По умолчанию Проблема с указателями C++ CLR

Объясню коротко.
В коде вызываю функцию qs (s1[0], 0, s1len);
Получаю ошибку: error C2664: qs: невозможно преобразовать параметр 1 из "wchar_t" в "wchar_t *"
Тут все логично. Ибо прототип имеет такой вид: void qs(wchar_t *arr, int first, int last);
Немного меняю код: qs (&s1[0], 0, s1len);
Получаю ошибку: error C2102: для "&" требуется левостороннее значение

Понятия не имею, что он от меня хочет.
В чистом С++ все было бы правильно. В чем моя ошибка?

Последний раз редактировалось Olegaaator; 12.12.2010 в 03:15.
Olegaaator вне форума Ответить с цитированием
Старый 12.12.2010, 02:31   #2
xPAL
Пользователь
 
Регистрация: 13.01.2008
Сообщений: 34
По умолчанию

qs (s1, 0, s1len);
s1 массив, а массив -указатель на свой первый элемент. Стоит почитать про отличия CLR и чистого C++

Последний раз редактировалось xPAL; 12.12.2010 в 02:37.
xPAL вне форума Ответить с цитированием
Старый 12.12.2010, 02:37   #3
Olegaaator
Новичок
Джуниор
 
Регистрация: 12.12.2010
Сообщений: 2
По умолчанию

Ну, что &s1[0] и s1 передают одно и то же я знаю. дальше что?

написал так: qs (s1, 0, s1len);
error C2664: qs: невозможно преобразовать параметр 1 из "System::String ^" в "wchar_t *"

s1 у меня указатель на текстбокс.
он, естественно, объявлен как стринг^

qs (Convert::ToChar(s1), 0, s1len);
error C2664: qs: невозможно преобразовать параметр 1 из "wchar_t" в "wchar_t *"

qs (&Convert::ToChar(s1), 0, s1len);
error C2102: для "&" требуется левостороннее значение

Чнго только уже не пробовал. Не могу понять. Пробовал создавать массив wchar_t и перегонять в него значения textBox->Text[x]. Но все равно. Когда передаешь его функции qs() та же ошибка

Сделал вот так: pin_ptr<wchar_t> arr = &s1[0];
error C2102: для "&" требуется левостороннее значение

Та же самая ошибка

Последний раз редактировалось Stilet; 12.12.2010 в 12:57.
Olegaaator вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с отображением русского языка в программе(C++ CLR) Alex TGM Помощь студентам 0 16.08.2010 22:26
Проблема с указателями 3D Hunter Общие вопросы Delphi 8 14.03.2009 06:55
проблема с указателями =\ shad0w Общие вопросы C/C++ 9 09.12.2007 03:36
Проблема с указателями novicer Общие вопросы Delphi 5 17.06.2007 00:21