diff --git a/core/fxcrt/fx_coordinates.cpp b/core/fxcrt/fx_coordinates.cpp
index 2cf87d6..8b11d61 100644
--- a/core/fxcrt/fx_coordinates.cpp
+++ b/core/fxcrt/fx_coordinates.cpp
@@ -9,6 +9,7 @@
 #include <math.h>
 
 #include <algorithm>
+#include <array>
 #include <iterator>
 #include <utility>
 
@@ -490,18 +491,18 @@
 }
 
 CFX_FloatRect CFX_Matrix::TransformRect(const CFX_FloatRect& rect) const {
-  CFX_PointF points[] = {{rect.left, rect.top},
-                         {rect.left, rect.bottom},
-                         {rect.right, rect.top},
-                         {rect.right, rect.bottom}};
-  for (CFX_PointF& point : points)
+  std::array<CFX_PointF, 4> points = {{{rect.left, rect.top},
+                                       {rect.left, rect.bottom},
+                                       {rect.right, rect.top},
+                                       {rect.right, rect.bottom}}};
+  for (CFX_PointF& point : points) {
     point = Transform(point);
-
+  }
   float new_right = points[0].x;
   float new_left = points[0].x;
   float new_top = points[0].y;
   float new_bottom = points[0].y;
-  for (size_t i = 1; i < std::size(points); i++) {
+  for (size_t i = 1; i < points.size(); i++) {
     new_right = std::max(new_right, points[i].x);
     new_left = std::min(new_left, points[i].x);
     new_top = std::max(new_top, points[i].y);
