я получаю какое-то сообщение об ошибке, говоря: «Ошибка: идентификатор„XXXX“из области видимости» в VS 2012Visual Studio 2012 Из объема в режиме отладки
Я нашел это все еще происходит даже с очень простого класса как показано ниже.
// this is header file
public class IRIS_Database
{
public:
int test1;
IRIS_Database::IRIS_Database(void);
IRIS_Database::~IRIS_Database(void);
};
// this is cpp file
#include "IRIS_Database.h"
/*******************
Constructor
********************/
IRIS_Database::IRIS_Database(void)
{
test1 = 5;
int test2 = 20;
}
/*****************
Destructor
******************/
IRIS_Database::~IRIS_Database(void)
{
}
Я поставил точку останова внутри конструктора и добавил test1 и test2 на часах. Вот скриншот.
Как вы можете видеть изображение, test1, который объявлен в заголовке файла «выходит за рамки». Тест2, локальная переменная, объявленная в конструкторе, в порядке. Я могу отслеживать test2, но не test1.
Вот код, который инициирует этот класс из основной функции.
/*********************
Main Function
**********************/
int _tmain(int argc, _TCHAR* argv[])
{
// Initialize Database
IRIS_Database* IRDB = new IRIS_Database();
}
Я не знаю, почему ...
Оптимизация отключена в собственности проекта, и это работает в режиме отладки. Мой код - C++/CLI, смешанный с формами Windows. Таким образом, опция/clr включена. Platform Toolset - это v110, который является VS 2012. Вот все варианты со страницы свойств. Если вы хотите увидеть конкретные параметры, пожалуйста, дайте мне знать.
/GS/analyze-/W3/Zc: wchar_t /I"../IRDB_Include "/ Zi/Od/sdl- /Fd"Debug\vc110.pdb"/FP: точные/D "_CRT_SECURE_NO_WARNINGS"/D, "WIN32"/D "_DEBUG"/D "_CONSOLE"/D "_UNICODE"/D "UNICODE"/errorReport: prompt/WX-/Zc: forScope/Oy-/clr/FU "C: \ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ mscorlib.dll "/ FU" C: \ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Data.dll "/ FU" C: \ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.dll "/ FU" C: \ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Drawing.dll "/ FU" C: \ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Windows.Forms.dll "/ FU" C: \ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System .Xml.dll "/ MDd/Fa" Debug \ "/ EHa/nologo/Fo" Debug \ "/ Fp" Debug \ Nea rIR.pch "
Заранее благодарен!
http://connect.microsoft.com/VisualStudio/feedback/details/783004/children-cannot-be-evaluated-on-c-cli-after-vs2012-update-2 –
Спасибо, Ханс, я обновил и изменил набор инструментов Platform to vs 2010, и он сработал. – diehard98