В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Все еще не уверен, чего вы на самом деле пытаетесь достичь, но самый простой способ (с 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].