🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

5439閲覧

[C++] Error: a function definition is not allowed here before '{' token

amber_snob

総合スコア30

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2019/11/18 14:48

エラー

a function definition is not allowed here before '{' token

club(), spade(), heart(), diamond() 全てにこのエラーが検出されました。
'{'の位置が間違っているようなのですが何回確認しても原因が分かりません。
よろしければ教えていただきたいです。

ソースコード

C++

1#include "../canvas/canvas.h" 2#include <string> 3#include <iostream> 4 5using namespace canvas; 6using namespace std; 7 8int main(){ 9 show(500,500); 10 11 // club 12 void club(int x, int y, double s){ 13 setColor(0,0,0); 14 setBorderWidth(5); 15 fillCircle(x,y-40*s,50*s); 16 fillCircle(x-40*s,y+10*s,50*s); 17 fillCircle(x+40*s,y+10*s,50*s); 18 fillTriangle(x,y,x-40*s,y+90*s,x+40*s,y+90*s); 19 } 20 21 // spade 22 void spade(int x, int y, double s){ 23 setColor(0,0,0); setBorderWidth(5); 24 fillTriangle(x,y-90*s,x-80*s,y-10*s,x+80*s,y-10*s); 25 fillCircle(x-40*s,y+10*s,50*s); 26 fillCircle(x+40*s,y+10*s,50*s); 27 fillTriangle(x,y,x-40*s,y+90*s,x+40*s,y+90*s); 28 } 29 30 // heart 31 void heart(int x, int y, double s){ 32 setColor(255,0,0); setBorderWidth(5); 33 fillCircle(x-40*s,y-30*s,60*s); 34 fillCircle(x+40*s,y-30*s,60*s); 35 fillTriangle(x,y+90*s,x-90*s,y,x+90*s,y); 36 } 37 38 // dia 39 void diamond(int x, int y, double s){ 40 setColor(255,0,0); setBorderWidth(5); 41 fillTriangle(x,y-90*s,x-70*s,y,x+70*s,y); 42 fillTriangle(x,y+90*s,x-70*s,y,x+70*s,y); 43 } 44 45 int cx = 150; int cy = 150; double cs = 0.5; 46 int sx = 350; int sy = 150; double ss = 0.5; 47 int hx = 150; int hy = 350; double hs = 0.5; 48 int dx = 350; int dy = 350; double ds = 0.5; 49 club(cx,cy,cx); 50 spade(sx,sy,sx); 51 heart(hx,hy,hx); 52 diamond(dx,dy,dx); 53 waitForKey(); 54}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

なんでmain関数の中に関数書いてるのかと、いうことでしょう

投稿2019/11/18 14:50

y_waiwai

総合スコア88040

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

amber_snob

2019/11/18 15:05

ありがとうございます。うっかりしていました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問