質問するログイン新規登録

回答編集履歴

1

m

2020/07/21 17:41

投稿

yumetodo
yumetodo

スコア5852

answer CHANGED
@@ -1,3 +1,27 @@
1
1
  operatorとはいえど所詮ちょっと変わった呼び出し方もできる関数に過ぎないのです。ってことを伝えたいのではないかとエスパーします。全体を見ないとなんともですが。
2
2
 
3
- `::`はグローバル名前空間にある、という意味合いですね。
3
+ `::`はグローバル名前空間にある、という意味合いですね。
4
+
5
+ ```
6
+ #include <new>
7
+
8
+ int main()
9
+ {
10
+ ::operator new(sizeof(int));
11
+ }
12
+ ```
13
+
14
+ ```
15
+ prog.cc: In function 'int main()':
16
+ prog.cc:5:17: warning: ignoring return value of 'void* operator new(std::size_t)', declared with attribute 'nodiscard' [-Wunused-result]
17
+ 5 | ::operator new(sizeof(int));
18
+ | ~~~~~~~~~~~~~~^~~~~~~~~~~~~
19
+ In file included from prog.cc:1:
20
+ /opt/wandbox/gcc-10.1.0/include/c++/10.1.0/new:126:26: note: declared here
21
+ 126 | _GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
22
+ | ^~~~~~~~
23
+ ```
24
+
25
+ [https://wandbox.org/permlink/AMdyESvpojzWE8iu](https://wandbox.org/permlink/AMdyESvpojzWE8iu)
26
+
27
+ この警告文見たほうがわかりやすいかな?