Эта ошибка связана с отсутствием определения переделенной. Смотрим пример:
#include "stdafx.h"
int main(int argc, char* argv[])
{
for (int x=0;x<y;x++)//y не объявлена
{
}
return 0;
}
Переменная y не определена:
D:\VС\TestError\TestError.cpp(12) : error C2065: 'y' : undeclared identifier
Основа этой ошибки в том, что переменную прежде чем использовать нужно объявить. А вот почему она не объявлена, может быть много случаев. Например, перепутаны верхние - нижние индексы в названиях.
#include "stdafx.h"
int main(int argc, char* argv[])
{
int X;// надо бы нижнем регистром
for (int x=0;x<y;x++)
{
}
return 0;
}
Отсутствие определения функции или переменной может быть связано с отсутствием заголовочного файла.
#include "stdafx.h"
int main(int argc, char* argv[])
{
BOOL i;
return 0;
}
Она просто не определена в заголовочном файле:
D:\VС\TestError\TestError.cpp(11) : error C2065: 'BOOL' : undeclared identifier
Она просто не определена в заголовочном файле. Надо включить windows.h и все станет на свое место.
Область видимости переменной может привести к появлению этой ошибки.
#include "stdafx.h"
int main(int argc, char* argv[])
{
for (int x=0;x<10;x++)
{
for (int y=0;y<10;y++)
{
}
}
y=20;
return 0;
}
И та же ошибка:
D:\VС\TestError\TestError.cpp(15) : error C2065: 'y' : undeclared identifier