@Teivaz , спасибо за развернутый ответ!
Компилятор на код больше не ругается, но при дебаге видает две ошибки, смысл которых я так и не вкурил, гугл не особо помог.
2>WindowsFormsApplication1.obj : error LNK2028: ёё√ыър эр эхЁрчЁх°хээє■ ыхъёхьє (0A00000C) "public: static int __clrcall Sort::SortMethod::Select(int *,unsigned int)" (?Select@SortMethod@Sort@@$$FSMHPAHI@Z) т ЇєэъЎшш "private: void __clrcall WindowsFormsApplication1::Form1::sort_Click(class System::Object ^,class System::EventArgs ^)" (?sort_Click@Form1@WindowsFormsApplication1@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)
2>WindowsFormsApplication1.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы "public: static int __clrcall Sort::SortMethod::Select(int *,unsigned int)" (?Select@SortMethod@Sort@@$$FSMHPAHI@Z) т ЇєэъЎшш "private: void __clrcall WindowsFormsApplication1::Form1::sort_Click(class System::Object ^,class System::EventArgs ^)" (?sort_Click@Form1@WindowsFormsApplication1@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)
2
Приведу сокращенный код файлов проекта, возможно, у меня просто элементарная ошибка, а я не могу ее обнаружить.
Основной файл:
#pragma endregion
static int* MyArray = new int[50]; //объявляем масив
static int i=0;
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
MyArray[i] = Convert::ToInt32(number -> Text);
i++;
}
private: System::Void sort_Click(System::Object^ sender, System::EventArgs^ e) {
Sort::SortMethod::Select(MyArray,i);
}
Файл .h моей библиотеки:
namespace Sort
{
class SortMethod
{
public:
static int Select(int *MyArray, unsigned int number);
};
}
Файл .cpp библиотеки:
namespace Sort
{
int SortMethod::Select(int *MyArray, unsigned int number)
{
int tmp;
for(int i = 0; i < number; ++i) // i - номер текущего шага
{
int pos = i;
tmp = MyArray[i];
for(int j = i + 1; j < number; ++j) // цикл выбора наименьшего элемента
{
if (MyArray[j] < tmp)
{
pos = j;
tmp = MyArray[j];
}
}
MyArray[pos] = MyArray[i];
MyArray[i] = tmp; // меняем местами наименьший с a[i]
}
return *MyArray;
}