Я экспортирую функцию в Excel.
Он в основном принимает параметр, затем выделяет несколько векторов, затем вычисляет что-то с этими векторами и возвращает это вычисление.
Код работает нормально (хотя он замедляет Excel), если я делаю это так:
double function()
{
std::size_t fixedParameter = 10000;
/// Now allocate and work with vectors of this size
return someresult;
}
ОДНАКО.
Если я возьму параметр в качестве входных данных, а не определю его в функции ..., тогда Excel немедленно вылетает. Я даже не вызываю функцию: она вылетает, как только я щелкаю функцию (на вкладке Формулы).
Я попытался выполнить некоторую отладку, и, похоже, проблема в том, что векторный индекс находится вне диапазона.
Что здесь происходит, и как мне это исправить? Проблема определенно в параметре std :: size_t и в том, что происходит, когда я делаю его входным по сравнению с фиксированной константой внутри функции.