Синтаксическая ошибка C / CLI. Это был долгий день, и мой мозг не функционирует должным образом

#visual-c #syntax #c -cli

#visual-c #синтаксис #c -cli

Вопрос:

Кто-нибудь может увидеть ошибку с этим? Ошибка, которую я получаю, это:

1>MainForm.cpp (71): ошибка C2059: синтаксическая ошибка : ‘)’

1>MainForm.cpp (72): ошибка C2143: синтаксическая ошибка: отсутствует ‘;’ перед ‘{‘

1>MainForm.cpp (75): ошибка C2181: недопустимое else без сопоставления if

1>MainForm.cpp (75): ошибка C2059: синтаксическая ошибка : ‘)’

1>MainForm.cpp (76): ошибка C2143: синтаксическая ошибка: отсутствует ‘;’ перед ‘{‘

Код:

 if (oMail->From->ToString()->Contains("email@gmail.com")) //Compare to whitelist
{
                mailSend::sendMail("email@gmail.com", "Commands Accepted!", "You are on the whitelist for this server.");
}
else if () //Compare to blacklist
{
                mailSend::sendMail("email@gmail.com", "Commands Rejected!", "You are on the blacklist for this server.");
}
else () // Else do Default Behavior
{
    if (UserSettings::TheInstance2->defaultBehavior->ToString() == "Accept")
    {
                mailSend::sendMail("email@gmail.com", "Commands Accepted!", "Accepted");
    }
    else if (UserSettings::TheInstance2->defaultBehavior->ToString() == "Accept (And add to Whitelist)")
    {
                mailSend::sendMail("email@gmail.com", "Commands Accepted!", "You have been added to the whitelist for this server!");
    }
    else if (UserSettings::TheInstance2->defaultBehavior->ToString() == "Reject")
    {
                mailSend::sendMail("email@gmail.com", "Commands Rejected!", "The server admin has set the server to reject non-whitelisted addresses.");
    }
    else if (UserSettings::TheInstance2->defaultBehavior->ToString() == "Reject (And add to Blacklist)")
    {
        mailSend::sendMail("email@gmail.com", "Commands Rejected!", "The server admin has set the server to add rejected addresses to the blacklist. You are now on it.");
    }
  

Ответ №1:

  else () 
   // ^^ Remove this.
 {
      // ....
 }
  

else оператор не должен иметь ()

Ответ №2:

Ваш код говорит:

 else if () 
  

Конечно, это ошибка.

Комментарии:

1. Почему это ошибка? Я добавлю к этому позже, на данный момент это всего лишь скелет.

2. @Alex — Условие для оценки обязательно должно быть предоставлено. Если вы компилируете программу, она должна подчиняться синтаксическим правилам языка. Нет ничего лучше скелета.

3. @Alex — это ошибка, потому что язык требует, чтобы там было фактическое условие. Компилятор не знает, что это всего лишь скелет 🙂

Ответ №3:

  else if ()
 ...                                                               
 else () 
  

Да, время сделать перерыв.