Coconut** s = (Coconut**)malloc(5*sizeof(Coconut*));
for(size_t i = 0; I < 5; i++)
{
s[i] = new Coconut();
}
s[0]->prev = nullptr;
for (size_t i = 0; i < 5; i++)
{
s[i]->prev = s[i - 1];
s[i]->next = s[i + 1]; //warning bị ngay đây
}
s[count - 1]->next = nullptr;
Cho mình hỏi tại sao đoạn code này bị warning như vầy? Nó chỉ bị warning trên cái project solution mà thầy mình đưa để làm bài tập. Mình thử tạo 1 project riêng để re-create cái warning nhưng không bị. Cả 2 project đều Enable All Warnings. Yêu cầu của bài là bên cạnh code đúng thì phải không warning nên không được tắt cái Enable All Warnings.
Nguyên văn Warning: C5045: Compiler will inser Spectre mitigation for memory load if/Qspectre switch specified.
Nếu vì do setting thì có cách nào sửa ngoại trừ cách đổi setting không?
PS: không được dùng array, vector, hay bất kì loại container nào của STL. Bài này ngoại lệ cho dùng malloc.