diff --git a/matrix.h b/matrix.h
index 86c8e8f3e3fb477c7abb98a8271ff977c756eec8..6fe19dc5700952d57d48fdc58e38d2f88d102e8e 100644
--- a/matrix.h
+++ b/matrix.h
@@ -1,17 +1,17 @@
 #ifndef _MY_MATRIX_
 #define _MY_MATRIX_
-#include <cstdint>
+#include <stdint.h>
 #include <stdbool.h>
 
 typedef enum _error_code {
     OK, ERR
 } error_code;
 
-struct _matrix
+typedef struct
 {
     int32_t m, n;
     int32_t ** data;
-} matrix;
+} _matrix;
 
 error_code matrix_alloc(_matrix *mat, int32_t m, int32_t n);
 error_code matrix_init(_matrix *mat, int32_t m, int32_t n, int32_t val);