質問編集履歴

3

ちょっと進展

2017/07/02 16:20

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -85,3 +85,33 @@
85
85
  マクロをよく理解していないことが原因だと思い自分でも色々と調べてみたのですが、未だに理由がわかりません。
86
86
 
87
87
  何がいけないのでしょうか? また、エラー処理としてもっとうまい方法があれば、よろしくお願いします。
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+ ********************** 追記 *************************
96
+
97
+ 色々と試していたのですが、x と val の比較 if ((intptr_t)(x) == (intptr_t)(val))を以下のように直接ec_nullに入れると動きました
98
+
99
+ ```lang-c
100
+
101
+ #define ec_null(x)\
102
+
103
+ {\
104
+
105
+ if ((intptr_t)(x) == (intptr_t)(NULL)) \
106
+
107
+ printe("File <%s> Function <%s> Line %d returned NULL\n", __FUNCTION__, __FILE__, __LINE__);\
108
+
109
+ }
110
+
111
+
112
+
113
+ ```
114
+
115
+
116
+
117
+ ということはec_cmpをif文の中に入れていたのがいけなかったということでしょうか? それかec_cmpからreturnするということについて何かおかしかったのでしょうか?

2

誤字

2017/07/02 16:20

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  /* x と NULL を比較する */
28
28
 
29
- #define ec_null \
29
+ #define ec_null(x) \
30
30
 
31
31
  {\
32
32
 

1

誤字

2017/07/02 15:57

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -84,4 +84,4 @@
84
84
 
85
85
  マクロをよく理解していないことが原因だと思い自分でも色々と調べてみたのですが、未だに理由がわかりません。
86
86
 
87
- 何がいけないのでしょうか? よろしくお願いします。
87
+ 何がいけないのでしょうか? また、エラー処理としてもっとうまい方法があれば、よろしくお願いします。