У меня есть вектор, к которому я пытаюсь выполнить функцию contains. Я получаю какую-то ошибку приведения и не могу найти решение. Я также хочу знать, является ли то, что я делаю, подходящим способом проверить, содержит ли вектор значение.
Вот код:
#include "stdafx.h"
#include
static void someFunc(double** Y, int length);
static bool contains(double value, std::vector vec);
int main()
{
double doubleArray[] = { 1, 2, 3, 4, 5 };
double *pDoubleArray = doubleArray;
int size = sizeof doubleArray / sizeof doubleArray[0];
someFunc(&pDoubleArray, size);
return 0;
}
static void someFunc(double** Y, int length)
{
std::vector vec();
for(int i = 0; i < 10; i++)
{
//error: 'contains' : cannot convert parameter 2 from 'std::vector (__cdecl *)(void)' to 'std::vector'
if(contains(*(Y), vec))
{
//do something
}
}
}
static bool contains(double value, std::vector vec)
{
for(int i = 0; i < vec.size(); i++)
{
if(vec == value)
{
return true;
}
}
return false;
}
Подробнее здесь: https://stackoverflow.com/questions/599 ... a-vector-c