Aracılığıyla paylaş


Derleyici Uyarısı (düzey 4) C4841

standart olmayan uzantı kullanıldı: bileşik üye belirteci offsetof

Açıklamalar

kullanıyorsanız offsetof(T, m), burada m bir bileşik üye belirleyicisi, seçeneğiyle /Wall derleme yaptığınızda derleyici bir uyarı oluşturur.

Bu uyarı Visual Studio 2017 sürüm 15.3'te yenidir ve varsayılan olarak kapalıdır. Varsayılan olarak kapalı olan tüm uyarıları etkinleştirmek veya /w14841 C4841'i düzey 1 uyarısı olarak etkinleştirmek için kullanın/Wall. Daha fazla bilgi için bkz . Varsayılan olarak kapalı olan derleyici uyarıları. Uyarıları derleyici sürümüne göre devre dışı bırakma hakkında bilgi için bkz . Derleyici sürümüne göre derleyici uyarıları.

Örnek

Aşağıdaki kod kötü biçimlendirilmiş ve çalışma zamanında kilitlenmeye neden olabilir:

struct A {
   int arr[10];
};

// warning C4841: non-standard extension used: compound member designator in offsetof
constexpr auto off = offsetof(A, arr[2]);

Sorunu düzeltmek için kodu bileşik üye belirleyicisi ile kullanılmaması offsetof için değiştirin.