diff --git a/include/X11/Intrinsic.h b/include/X11/Intrinsic.h
index 71199e7da8fb546bf4f66038c8ede60e27ef1a71..94197f9ed055146904fe6bd9c8a9204462458c13 100644
--- a/include/X11/Intrinsic.h
+++ b/include/X11/Intrinsic.h
@@ -174,7 +174,7 @@ typedef unsigned short	Dimension;  /* Size in pixels			*/
 typedef short		Position;   /* Offset from 0 coordinate		*/
 
 typedef void*		XtPointer;
-#if __STDC_VERSION__ >= 201112L
+#if __STDC_VERSION__ >= 201112L && !defined(__cplusplus)
 _Static_assert(sizeof(XtArgVal) >= sizeof(XtPointer), "XtArgVal too small");
 _Static_assert(sizeof(XtArgVal) >= sizeof(long), "XtArgVal too small");
 #endif
diff --git a/include/X11/IntrinsicP.h b/include/X11/IntrinsicP.h
index 21c5aca8aeae07511d214a5ff1644d12a4fcaef2..a2d8a29bd7ccc15cf8ace72d2ff652ce0aaae637 100644
--- a/include/X11/IntrinsicP.h
+++ b/include/X11/IntrinsicP.h
@@ -64,7 +64,7 @@ typedef struct {
     XtIntPtr	xrm_default_type; /* Default representation type quark	*/
     XtPointer	xrm_default_addr; /* Default resource address		*/
 } XrmResource, *XrmResourceList;
-#if __STDC_VERSION__ >= 201112L
+#if __STDC_VERSION__ >= 201112L && !defined(__cplusplus)
 _Static_assert(XtOffsetOf(XrmResource, xrm_default_addr) ==
                    XtOffsetOf(XtResource, default_addr),
                "Field offset mismatch");