2017-01-09 3 views
0

Я хочу сломать, когда test2 является истинным. Это не позволит мне установить точку останова внутри условия, где test2 устанавливается в true. Так что я пытался поставить условную точку останова ниже, где объявлен test3:Visual Studio не распознает логическую переменную

 string teststring = "debug"; 
     bool threedistinct = false; 
     bool test2 = false; 
     if(teststring.find("d") != string::npos) 
      threedistinct = true; 
     if(threedistinct) 
      test2 = true; 

     bool test3 = false; 

и я получаю следующие ошибки: error1

error2

Я не понимаю, как test2 может быть неопределенным. Я попытался изменить его тип на int, инициализировал его до 1 и изменил его значение в условном выражении, но я получил те же ошибки. Примечание: ошибки появляются только при попытке установить точку останова.

+3

Было бы хорошо, если бы вы могли бы включать a [mcve], чтобы мы могли попробовать и воспроизвести вашу проблему. – Rakete1111

+2

Вы сохранили файл после добавления переменной 'test2'? Поскольку на скриншоте выглядит, что вы его не сохранили. –

+2

Вместо этого фрагмента, представить ваш [MCVE] в соответствии с инструкциями. –

ответ

0

«Я был случайно составлен в режиме максимальной ответственности. Я перешел на Release to Debug, и он работает. Спасибо!»

Рад узнать, что вы решили эту проблему. Но я согласен с предложением PaulMcKenzie, настоящая проблема будет связана с определенными настройками в течение двух разных режимов, которые не могли бы генерировать информацию для отладки. .

(1The линкер установка, которая будет генерировать отладочную информацию (2) Отключить опцию оптимизаций

ссылочный о подобной проблеме:.

http://www.databasesql.info/article/896010299/

Смежные вопросы