Подключение cpp файла к clr проекту

254
26 декабря 2017, 17:39

Хочу создать приложение clr(чтобы были формы в приложении). ПОлучаю примерно такой код:

#include "MyForm.h"
#include <iostream>
//#include "Shenks.cpp"
using namespace System;
using namespace System::Windows::Forms;
[STAThreadAttribute]
void Main(array<String^>^ args) {
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    Проект1::MyForm form;
    Application::Run(%form);
    int a = 0;
}

Вот код shenks.cpp:

#include <iostream>
#include <math.h>
#include <map>;
#include <boost/multiprecision/cpp_int.hpp>
using namespace std;
namespace mp = boost::multiprecision;
mp::cpp_int powmod(mp::cpp_int a, mp::cpp_int b, mp::cpp_int m) {
    mp::cpp_int res = 1;
    while (b > 0)
        if (b & 1) {
            res = (res * a) % m;
            --b;
        }
        else {
            a = (a * a) % m;
            b >>= 1;
        }
        return res % m;
}
mp::cpp_int solve(mp::cpp_int a, mp::cpp_int b, mp::cpp_int m) {
    mp::cpp_int n = (mp::cpp_int)sqrt(m) + 1;
    map<mp::cpp_int, mp::cpp_int> vals;
    for (mp::cpp_int i = n; i >= 1; --i)
        vals[powmod(a, i * n, m)] = i;
    for (mp::cpp_int i = 0; i <= n; ++i) {
        mp::cpp_int cur = (powmod(a, i, m) * b) % m;
        if (vals.count(cur)) {
            mp::cpp_int ans = vals[cur] * n - i;
            if (ans < m)
                return ans;
        }
    }
    return -1;
}
void main()
{
    mp::cpp_int num1("12347893489239423480238407238947892349823");
    mp::cpp_int num2("12347893489239423480238407238947892349824");
    mp::cpp_int num3("12347893489239423480238407238947892349825");
    cout<<solve(3, 11, 17);
    system("pause");
}

Как подключаю этот файл shenks.cpp, то выдает ошибку: Ошибка C2976 std::array: слишком мало аргументов шаблон Проект1 Ошибка C3699 ^: это косвенное обращение невозможно использовать для типа "std::array В чем проблема?

READ ALSO
Матрица c++ Подсчёт элементов

Матрица c++ Подсчёт элементов

Доброго времени сутокНе могу разобраться с заданием по c++

230
Подключение музыки и сборка через CMake

Подключение музыки и сборка через CMake

Пытаюсь подключить SFML/Audiohpp к программе, но сборка через CMake не работает в данном случае - требует подключение и там

190
Подключение библиотек CMake C++

Подключение библиотек CMake C++

Впервые начал использовать CLionХотел построить проект и потом просто открыть получившийся файл в папке дебага, но выдаёт ошибки об отсутствии...

267