Ошибка преобразования из "System::String ^" в "std::basic_string, std::allocator>"
Хочу взять данные из textbox и перенести в переменную fileName для использования в DataReading
System::Void CursGraf::MyForm::открытьToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
String^ fileName = stantxtToolStripMenuItem->Text;
DataReading(d, _size, fileName); <--- ошибку показывает здесь
}
В ошибке пишет (не существует подходящего конструктора для преобразования из "System::String ^" в "std::basic_string<char, std::char_traits, std::allocator>") Впервые с таким сталкиваюсь, просмотрел другие темы по этому вопросу и там ошибка появляется чуть по другому (ну или мне так кажется). Помогите написать нормально, желательно с объяснением что как и почему
Ответы (1 шт):
Автор решения: anton
→ Ссылка
#include <msclr\marshal_cppstd.h>
#include <string>
System::Void CursGraf::MyForm::openToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
String^ fileName = stantxtToolStripMenuItem->Text;
DataReading(d, _size, msclr::interop::marshal_as<std::string>(t));
}