Tôi gặp phải hành vi kỳ lạ nhất trong VS 2012 (tôi đang viết bằng cpp).thêm chương trình xem định danh không xác định visual studio 2012, cpp
Tôi nhấp vào "thêm đồng hồ" trên một biến và thông báo "số nhận dạng không xác định".
Dưới đây là một ví dụ về mã:
for (int j=0;j<32;j++)
{
unsigned char curValue=desc1.at<unsigned char>(0,j);
printf("%s\n",curValue);
}
tôi đã phải sử dụng printf để hiển thị giá trị của curValue. lol.
Có ai đã gặp phải hành vi như vậy không?
Chỉnh sửa: điều lạ lùng hơn xảy ra. Khi gỡ lỗi mã sau:
int b1[8];
for (int k=0;k<7;k++)
b1[k]=0;
char q=curValue;
int t=0;
while (q!=0){
b1[t++]=q%2;
q=q/2;
}
Trình gỡ lỗi chỉ bỏ qua vòng lặp với b1 [k] = 0;
Xin lưu ý rằng curValue không được xác định ngay cả trong vòng lặp.
Cảm ơn!
Một giải pháp cho vấn đề là để lại tối ưu hóa của trình biên dịch được kích hoạt, nhưng cho phép/Zo (Nâng cao Debugging Tối ưu hóa) nói với trình biên dịch để tạo ra thông tin gỡ lỗi bổ sung mà làm việc với mã được tối ưu hóa. Điều này chỉ có sẵn cho Visual Studio 2013 cập nhật 3 hoặc mới hơn. xem https://msdn.microsoft.com/en-us/library/dn785163.aspx –