Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
 
1ые
1 / 1 / 3
Регистрация: 19.01.2013
Сообщений: 98
#1

error C2664: невозможно преобразовать из "double" в "double &" - C++/CLI WinForms

11.03.2013, 17:41. Просмотров 1197. Ответов 4
Метки нет (Все метки)

написал функцию в vc10 Windows Forms - String^ func(double &in_val); в программе объявляю переменную типа double x3
и сообщаю ее функции func(x3) выдает след. ошибку :
error C2664: Cupag::func: невозможно преобразовать параметр 1 из "double" в "double &"
1> Объект из кучи heap (член управляемого класса) не может быть преобразован в собственную ссылку

если передаю x3 след. образом : func(&x3) то выдает ошибку:
c:\users\www\documents\visual studio 2010\projects\cupag\cupag\Form1.h(349): error C2664: Cupag::func: невозможно преобразовать параметр 1 из "cli::interior_ptr<Type>" в "double &"
1> with
1> [
1> Type=double
1> ]

Если кто то знает в чем причина подскажите??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 17:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос error C2664: невозможно преобразовать из "double" в "double &" (C++/CLI WinForms):

Невозможно преобразовать аргумент 1 из "int" в "System::String ^"
Есть строка this-&gt;label4-&gt;Text = s; пишет невозможно преобразовать аргумент...

Невозможно преобразовать "System::String ^" в "int"
:\calcu\calcu\Form1.h(341): error C2440: =: невозможно преобразовать...

Невозможно преобразовать параметр 1 из "System::Net::Mail::SmtpClient ^" в "System::String ^"
Здравствуйте. Компилятор ругается на следующую строку: SmtpClient client =...

Ошибка: Неявное преобразование типа "string" в "int" невозможно
private void button1_Click(object sender, EventArgs e) { ...

Ошибка C3867 "нестандартный синтаксис; используйте "&", чтобы создать указатель на член"
pictureBox1-&gt;Invalidate; Вызывает ошибку C3867. Что сделать то нужно? И...

Извлечение Double из textBox: Необработанное исключение типа "System.FormatException"
Всем привет. Нужна помощь. Пишу программу на Visual Studio 10 приложение...

4
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7004 / 3297 / 448
Регистрация: 04.12.2011
Сообщений: 9,128
Записей в блоге: 5
11.03.2013, 19:07 #2
Цитата Сообщение от 1ые Посмотреть сообщение
и сообщаю ее функции func(x3) выдает след. ошибку :
error C2664: Cupag::func: невозможно преобразовать параметр 1 из "double" в "double &"
Не уверен, что смог повторить, то о чем Вы говорите, но если вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
String^ func(double &in_val){
in_val +=5;
return in_val.ToString();
         }
private: System::Void button6_Click(System::Object^  sender, System::EventArgs^  e) {
String^ str;
double dbl=3.14;
str=func(dbl);
this->richTextBox1->Text += str+"\n";
this->richTextBox1->Text += dbl.ToString()+"\n";
         }
то работает.
1
1ые
1 / 1 / 3
Регистрация: 19.01.2013
Сообщений: 98
11.03.2013, 19:30  [ТС] #3
То есть когад передаете double то ошибку не выдает?
Я просто думал что в Windows Forms как то по другому с адресами работают. Или передавайть в функцию нужно как то по другому?
И если можно обьясните что значит "in_val += 5" ?
И для чего private: ???
Все для чего private я понял
0
MrCold
859 / 757 / 174
Регистрация: 11.01.2012
Сообщений: 1,942
11.03.2013, 19:46 #4
Ссылка в CLI - %
How to: Use Tracking References in C++/CLI
1
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7004 / 3297 / 448
Регистрация: 04.12.2011
Сообщений: 9,128
Записей в блоге: 5
11.03.2013, 20:20 #5
Цитата Сообщение от 1ые Посмотреть сообщение
И если можно обьясните что значит "in_val += 5" ?
Это оператор +=
Выражение аналагично in_val = in_val + 5;
Сделал, чтобы показать, что оно модифицировалось по ссылке, т.е. за пределами функции.
0
11.03.2013, 20:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2013, 20:20
Привет! Вот еще темы с решениями:

Error C2678: бинарный "<": не найден оператор, принимающий левый операнд типа "System::Decimal"
Делал программу для расчета exp, с точностью до eps = 0.1, …, 0.000001 путем...

Error C2143: синтаксическая ошибка: отсутствие ";" перед "->"
Доброго времени суток. Пишу простейшую программку: Создаю приложение Windows...

Ошибка "невозможно преобразовать параметр..."
#include &lt;Windows.h&gt; #include &lt;stdlib.h&gt; #pragma once #pragma comment...

Преобразовать из "System::String ^" в "char *"
Visual Studio 2010 C++. Нужно путь к файлу &quot;openFileDialog1-&gt;FileName&quot;...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru