Return type mismatch in model block

Hey I am working on a latent space model in STAN and the following chunk is from my STAN code:

parameters{
real A[N,N];
}
model{
      for(i in 1:N)
      {
         for(j in 1:N)
         {
             A[i,j] ~ bernoulli_logit(alpha + del*D[i,j]  + gam * dis[i,j]);
         }
      }
}

The alpha, del, gam, have all Gaussian prior specifications. D[i,j] is data input and dis[i,j] is calculated in the model block as well.
STAN throws the error “No matches for: Available argument signatures for bernoulli_logit: Real return type required for probability function”, for the A[i,j] ~ bernoulli_logit(alpha + del*D[i,j] + gam * dis[i,j]); statement, which is confusing since I have defined it as real.

Could someone kindly explain what I am doing wrong here and how to correct this? Thank you for your time.

The bernoulli_logit distribution is only available for integer outcomes, and Stan is not able to estimate integer parameters.

For this model you would need to marginalise the latent discrete parameter (A) out of the likelihood