initialization of 'hInstanse' is skipped by 'case' label, почему?
switch (uMsg) { ... case WM_CREATE: //получаем дескриптор приложения HINSTANCE hInstance = GetModuleHandle(0); ... break; case WM_MOUSEMOVE: //устанавливаем тот или иной курсор в зависимости от местонахождения мыши ...
WM_MOUSEMOVE
код попадёт в область где hInstance определён, но минует его инициализацию. Компилятор туповат, чтобы понять, что hInstance дальше не используется. Простейший фикс -- обернуть код обработчиков в блоки:switch (uMsg)
{
...
case WM_CREATE:
{
//получаем дескриптор приложения
HINSTANCE hInstance = GetModuleHandle(0);
...
}
break;
case WM_MOUSEMOVE:
{
//устанавливаем тот или иной курсор в зависимости от местонахождения мыши
...
}
...
const student = {
name : 'Sasha',
age : 46,
surname: 'Belov',
};
const studentCS = { ...student };
studentCS.speiality = 'Computer Science';
const courses = {
Math : 10,
English: 9,
Sport : 8,
};
const permissions = {
canView : true,
canEdit : false,
canPrint: true,
};
Object.assign(studentCS, courses, permissions);
console.log(studentCS);
studentCS.average = function () {
return (this.Math + this.Sport + this.English) / 3;
};
studentCS.checkPermission = function () {
return [
this.canView,
this.canEdit,
this.canPrint,
].filter(i => i).length;
};
console.log('Score: ' + studentCS.average());
console.log('Number of enabled rights: ' + studentCS.checkPermission());