Error using expression within cvx

Hi,
I write a cvx code as below

cvx_begin
    variable F(n, T)
    variable S(m, T)

    dual variable lambda
    dual variables mu1 
    
    maximize    geomean(F(:))
    subject to  
                D = 1./(c-S); 
                
                P = R'*D;
                lambda: R*F <= c
                mu1: C1*P(1,:)' >= q1
                
                % positivity constraints
                F >= 0 
                F <= F_max
                S >= 0
cvx_end

But, when I run it the following error will arise:

??? Error using ==> cvx.times at 173
Disciplined convex programming error:
    Cannot perform the operation: {positive constant} ./ {real affine}

Error in ==> cvx.rdivide at 19
z = times( x, y, './' );

Error in ==> 
                D = 1./(c-S);

can anybody help me?

The expression 1./(c-S) is neither convex nor concave. CVX is meant solely for convex problems. Now, if you intend for c-S to be strictly positive, then you could perhaps use inv_pos(c-S), which is a convex expression.

Furthermore, the = operator denotes an assignment. If you intended to do equality constraints, you would have to use the == operator. But that leads you to a second problem: you cannot use nonlinear expressions in equality constraints in CVX. So it is not clear that CVX is able to solve this problem at all.