Некоторые улучшения для вас могут быть:
1) Не используйте select *
. Вместо этого используйте имена столбцов. например select products.id, products.title, productimages.imageurl
2) Используйте JOIN
вместо вложенного цикла
Итак, вы можете попробовать выполнить запрос таких данных, как:
select products.id, products.title, productimages.imageurl
from products
join productimages on products.id = productimages.productid
ORDER BY products.id LIMIT 10
Тип pointer-to-member-function
отличается от pointer-to-function
.
Тип функции различается в зависимости от того, является ли она обычной или нестатической функцией-членом некоторого класса:
int f(int x);
the type is "int (*)(int)" // since it is an ordinary function
И
int Mat::f2(int x);
the type is "int (Mat::*)(int)" // since it is a non-static member function of class Mat
Примечание: если это статическая функция-член класса Fred, ее тип такой же, как если бы она была обычной функцией: "int (*)(char,float)"
В C ++ функции-члены имеют неявный параметр который указывает на объект (указатель this внутри функции-члена). Нормальные функции C могут рассматриваться как имеющие другое соглашение о вызовах от функций-членов , поэтому типы их указателей (указатель на функцию-член и указатель на функцию) различны и несовместимы. C ++ вводит новый тип указателя, , называемый указатель на член, который может быть вызван только путем предоставления объекта .
ПРИМЕЧАНИЕ: не пытайтесь «привести» функцию указатель к члену в указатель на функцию; результат не определен и, вероятно, катастрофический. Например, указатель на функцию-член не обязан содержать машинный адрес соответствующей функции. Как было сказано в последнем примере, если у вас есть указатель на обычную функцию C, используйте либо функцию верхнего уровня (не член), либо статическую (класс) функцию-член.
Я получил эту ошибку от не использования круглых скобок для вызова функции. У меня было это:
Eigen::Quaterniond value;
...
myFunction(value.x);
И я зафиксировал это путем изменения последней строки на это:
myFunction(value.x());