Аргументы для пользовательских унарных / binaryExpr () eigen3

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

0
задан Rody50 11 April 2019 в 09:30
поделиться

1 ответ

Все еще не уверен, чего вы на самом деле пытаетесь достичь, но самый простой способ (с C ++ 11 или более поздней версии) ссылаться на дополнительные объекты в вашем двоичном функторе - это использовать лямбда-выражение:

result = spinCGPart.col(0).binaryExpr(spinCGPart.col(1), 
           [&](int a, int b){return generalExpVal(a,b,mat);});

Полностью скомпилированный пример: https://godbolt.org/z/PBJJRW

С C ++ 03 вы можете сделать это вручную, используя вспомогательную структуру или используя, например, [ 111].

0
ответ дан chtz 11 April 2019 в 09:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: