1. ttatsf

    No comment

    ttatsf
Changes in body
Source | HTML | Preview
@@ -97,10 +97,35 @@
sketch_may02a:24: error: 'func' function uses 'auto' type specifier without trailing return type
auto func() {
^
*/
```
+構造体で関数オブジェクトを作って同じことしてみました。ちょっと無理矢理ですが...
+やっぱりエラー。
+
+```C++:
+auto Func(){
+ struct {
+ private:
+ int i = 0;
+ public:
+ int operator()(){
+ return i++;
+ };
+ } f ;
+ return f;
+}
+/*エラー:
+sketch_may02a:39: error: cannot convert 'Func()::<anonymous struct>' to 'int' in return
+ return f;
+ ^
+*/
+```
+どちらのコードも、paiza.ioで試したらエラーは出ませんでした。
+
+使いどころがむずかしい...
+今まで通り、簡単なことは普通の関数で、複雑なことは関数オブジェクトでやると思います。
#constexpr : 使える。
constexprは、keywordとしてはハイライトされないけれど、コンパイルは普通に通るようです。
```C++:
constexpr unsigned int factorial(unsigned int x) {
@@ -125,7 +150,7 @@
auto a (1);
int ary[] {1,2,3,4};
```
みたいな書き方にしようかと思います。
-こんな便利な機能があるよ、というのがあればコメントおねがいします。
+違ってるよ、とか、こんな便利な機能があるよ、というのがあればコメントおねがいします。