Жалуется на inputForm: выражение должно иметь тип указателя или дескриптора, но имеет тип "std::string"
--Calculations.cpp-- #include "Calculations.h" #include "InputForm.h" using namespace std; string inputForm;
int max(vector<int>^ arr) { int maxElem = arr[0]; for (int i = 0; i < arr->size(); ++i) { if (maxElem < arr[i]) { maxElem = arr[i]; } } return maxElem; } int findIndexOfMax(vector<int>^ arr) { int maxElem = arr[0]; int maxInd = 0; for (int i = 0; i < arr->size(); ++i) { if (maxElem < arr[i]) { maxElem = arr[i]; maxInd = i; } } return maxInd; }
int getRandomNumber() { return rand() % 100 - 50; } bool compareToRange(int left, int right, int a, int b) { return left > a && left < b && right > a && right < b; } System::Void SortByRule(vector<int>^ arr) { int maxElem = max(arr); int maxInd = findIndexOfMax(arr); 45 int a = System::Convert::ToInt32(inputForm->TextBoxA->Text); // <-inputForm ошибка 46 int b = System::Convert::ToInt32(inputForm->TextBoxB->Text); // <-inputForm ошибка sort(arr->begin(), arr->end(), [=](int left, int right) { return compareToRange(left, right, a, b); }); }
void fillWithRandom(vector<int>^ arr) { for (int i = 0; i < arr->size(); ++i) { arr[i] = getRandomNumber(); } }
я уже много чего перепробовал, остановился на этом варианте и не знаю как исправить
Jurijus Zaksas
Искусственный Интеллект
(445791)
В соответствии с целями и задачами. Очевидно, что тебе там нужна не строка, а вот что там тебе нужно - это только ты можешь знать. Подозреваю, что форма. Но необязательно.
--Calculations.cpp--
#include "Calculations.h"
#include "InputForm.h"
using namespace std;
string inputForm;
int max(vector<int>^ arr)
{
int maxElem = arr[0];
for (int i = 0; i < arr->size(); ++i)
{
if (maxElem < arr[i])
{
maxElem = arr[i];
}
}
return maxElem;
}
int findIndexOfMax(vector<int>^ arr)
{
int maxElem = arr[0];
int maxInd = 0;
for (int i = 0; i < arr->size(); ++i)
{
if (maxElem < arr[i])
{
maxElem = arr[i];
maxInd = i;
}
}
return maxInd;
}
int getRandomNumber()
{
return rand() % 100 - 50;
}
bool compareToRange(int left, int right, int a, int b)
{
return left > a && left < b && right > a && right < b;
}
System::Void SortByRule(vector<int>^ arr)
{
int maxElem = max(arr);
int maxInd = findIndexOfMax(arr);
45 int a = System::Convert::ToInt32(inputForm->TextBoxA->Text); // <-inputForm ошибка
46 int b = System::Convert::ToInt32(inputForm->TextBoxB->Text); // <-inputForm ошибка
sort(arr->begin(), arr->end(), [=](int left, int right) { return compareToRange(left, right, a, b); });
}
void fillWithRandom(vector<int>^ arr)
{
for (int i = 0; i < arr->size(); ++i)
{
arr[i] = getRandomNumber();
}
}