連続で質問をしてしまい、申し訳ありません。csvファイルの数値をvectorの2次元配列に格納するプログラム書いているのですが、なかなかうまくいきません。rangeといったエラーが出ます。以下に、コードを載せます。2013を使っています。vectorの確保領域以上の所にアクセスしているという旨のエラーらしいのですが、vectorってメモリを動的確保できるものではないのですか?ちなみに、20行目のコメント部分を解除しても同様のエラーが出てしまいます。vectorの確保領域以上の所にアクセスしているという旨のエラーその通りです。それが起こりそうな所をみるしかないですね。ちなみに、20行目のコメント部分を解除しても同様のエラーが出てしまいます。解除しても、別の所で領域外をアクセスしているので、同様のエラーが出ています。20行目の文は必要ですので、コメントは外してください。因みに原因はfor文の方にあります。1箇所だけ不自然な所があると思います。5年前Kaienさんご返信ありがとうございます。csvファイルの中身は、2,3,46,4,1,9,0,57,2,5,6となっています。していれば気付けると思います。う~ん、正直for文のどこが原因なのかがさっぱり分かりません・・・そういう思い込みを排除するためにもデバッガは有用です。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。5年前オフトピックプログラミングというかデバッグの基本ですが自分を信用してはいけません。信頼できない人(=自分)の書いたプログラムを検証するのはどうするのか、そこを考えてみてください。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。5年前そうですねそういう時はソースコードを見やすく書き直してみるのも方法です。5年前そもそも23行目で空のvectorに添字参照しようという考え方がおかしいと思います。resizeしても確保分超えたら同じことなので問題を先送りしてるだけですよね。質問とは関係ないですが、EOFをチェックする位置もおかしいです。#近ごろ回答者側に確認不足が顕著な気がします。した事によって別の間違いが浮き彫りになっている状態ですだからKaienさんはまずそれを指摘しているのだと思います私もパッと見分からなかったので、「これは確かに議題者自身に気が付いてほしい」と思ったので同じようにヒントのみにしました議題者自身きっとよい勉強になると思います実際軽く動的確保に直してみるとエラーもなく通ってしまいました。私の言葉不足が露呈してますね。N.R様の言うように、まずresizeありだと別の問題が出てしまいますが、まずその間違いを直した方がいいと思いましたので、resizeのコメントを外すように書きました。実はこの質問、約1年前に初めてSTLを触った頃の自分が陥ったミスと全く同じものでして、DOG様本人が気づいて欲しい点だと思いましたので、ヒントという形にしました。う~ん、正直for文のどこが原因なのかがさっぱり分かりません・・・この部分は正しいと思っていたもので・・・そういう訳ですので、DOG様、頑張って見つけてください。それでもresizeをする事で発生する別の問題のについては、言及すべきだったかもしれません。その件について、言葉足らずで申し訳ありませんでした。最後に、ISLe様のおっしゃるEOFのチェック場所は素で見落としていました。確認不足でした事、深く反省しております。皆様、ご返信ありがとうございます。プログラミングの勉強を始めてまだ数か月しかたっていないので、醜いコードになっているとは思いますが、どうかご容赦くださいませ。(int)vss[j].size()がおかしいことに気づきました。(int)vss[k].size()だと思いました。それで、20行目のコメント解除すると、正しく実行されました。した事によって別の間違いが浮き彫りになっている状態ですですが、resize()で前もって確保しておかないと同じエラーが出ます。vectorの良いところは領域の動的確保なのに、これだとvectorの良いところが消えてしまっているように思えます。C++の入門書でvectorの2次元配列を扱っている箇所があるのですが、そこでも前もってresize()で領域確保されています。EOFの位置についてコメントさせて下さい。}で、よろしいでしょうか?よろしくお願い致します。csvファイルの数値をvectorの2次元配列に格納するプログラム書いているのですが、なかなかうまくいきません。質問者さんは気付いたようですが、resizeしたまま添字を直して動いたから『解決』というストーリーもあり得たと思います。あとステップ実行すれば分かると思いますが、kのカウンタがresizeした分回るのはとても無駄だと思います。取得したデータを加工する処理を加える際、空回りするループが邪魔になるかもしれません。EOFの位置についてコメントさせて下さい。}で、よろしいでしょうか?よろしくお願い致します。5年前>#近ごろ回答者側に確認不足が顕著な気がします。>#近ごろ回答者側に確認不足が顕著な気がします。これは正しいですね確認がきちんとできる人は後から後からコメントを書き換えたりしないでしょうわたしはしばしば投稿を書き換えますが、結論が変わるような書き換えはしていないつもりです。フォーラムルールでは禁止行為として、記事の内容を無暗に変更する行為、とあります。記事を無暗に変更する行為、ではありませんから問題無いのではないでしょうか。>resizeしても確保分超えたら同じことなので問題を先送りしてるだけですよねまずKaienさんの指摘する問題を直さないと先に進むべきではないと思いますわたしが指摘した問題を直してもKaienさんが指摘した問題は無くなりません。Kaienさんが指摘した問題を無くすと、わたしが指摘した問題は無くなったようにみえるかもしれません。>vectorってメモリを動的確保できるものではないのですかと議題者は書いているのでresizeしたくないであろう事は分かっています質問者さんはresizeの有無でエラーが発生する箇所が違うことに気付いていません。resizeをすることで動的確保が可能になる、と誤って理解してしまう可能性は少なくないと思います。した事によって別の間違いが浮き彫りになっている状態ですだからKaienさんはまずそれを指摘しているのだと思います私もパッと見分からなかったので、「これは確かに議題者自身に気が付いてほしい」と思ったので同じようにヒントのみにしました議題者自身きっとよい勉強になると思います繰り返しますが、わたしの指摘した問題を直してもKaienさんが指摘した問題は無くなりません。実際軽く動的確保に直してみるとエラーもなく通ってしまいました。次に問題として現れるときはもっと分かりにくくなっているかもしれません少なくとも私の周りではそういうのを問題の先送りと呼んでいます少なくともわたしには手っ取り早く直せる方に先に手を付けただけのように見えますが。ちなみに読み込み部分を直すことで後半のループ自体が不要になる可能性があるのでまず前半を指摘しました。それでもresizeをする事で発生する別の問題のについては、言及すべきだったかもしれません。その件について、言葉足らずで申し訳ありませんでした。この時点でkをカウントするループがファイルから読み込んだ行数を越えてresizeで指定した分まで空回りするということに気付いていたのか正直に教えていただけないでしょうか。気付いていたか気付いていなかったに関わらず、質問に書かれたコードの『仕様』が変わることについて、また、そのような回答をすることについて、どうお考えなのでしょう。EOFの位置についてコメントさせて下さい。++i;}EOF以外の状態変化にも対応するのでより汎用になります。した事によって別の間違いが浮き彫りになっている状態ですですが、resize()で前もって確保しておかないと同じエラーが出ます。vectorの良いところは領域の動的確保なのに、これだとvectorの良いところが消えてしまっているように思えます。C++の入門書でvectorの2次元配列を扱っている箇所があるのですが、そこでも前もってresize()で領域確保されています。vectorの2次元配列の場合は前もって確保しなければならないのでしょうか?いいえ、resizeするのは姑息な手段です。少なくともわたしはDOGさんが本来望む動作を実装するのに遠回りをしていると感じます。#ここでは姑息を本来の意味で使用しています。5年前?私は同意したのであってISLeさんに問題があると書いたつもりはないのですがしかし掲示板の内容を書き換える事は信頼性を揺るがす事に繋がるので多くの人がやっているように修正線を入れるのが適切です。書き方一つでニュアンスも変わってしまいますからね。それも「投稿前にちきんと確認していれば、そもそもそんな必要ないのにな」という意見に何かおかしい所がありますか「ちきんと」という部分がおかしい(ジョークとして面白い、という意味で)ですね。csvファイルの中身は、2,3,46,4,1,9,0,57,2,5,6となっています。本当ですか?信じられません。使えば、前もって確保する必要はありません。5年前resizeしない方法は、KaienさんやN.Rさんがフォローしてくださるに違いありません。なければ問題の先送りどころか問題の棚上げですからね。5年前オフトピックわたしは投稿を書き換えるということについて自分の意見を述べただけです。わたしが何を確認することについて不足を感じているかは分かっていただけないようです。それも「投稿前にちきんと確認していれば、そもそもそんな必要ないのにな」という意見に何かおかしい所がありますかそもそも噛み合ってないので何とも言えません。カンマ","も含めてvectorの2次元配列に格納しようとしているのですが、というのがおかしい。一行ごとに読み込むなら2次元配列はおかしい。vector<string>で良い。vector<vector<int>>と置き換えればエラーを回避するためだけに不自然なコードを記述する必要などない。先に後半部分のデバッグをすることはまったく時間の無駄だとわたしには思える。かずまさんはずっと先を突っ走っている。それでもresizeをする事で発生する別の問題のについては、言及すべきだったかもしれません。その件について、言葉足らずで申し訳ありませんでした。この時点でkをカウントするループがファイルから読み込んだ行数を越えてresizeで指定した分まで空回りするということに気付いていたのか正直に教えていただけないでしょうか。kをカウントするループがresizeによって空回りしてしまうことには、気づいていました。原因はいったい何なのでしょうか?今回のケースに関しては、原因を聞く質問でしたのでアクセス領域外を触っている事が一目で分かる所を指摘してしまった事になります。それが早計であった点は弁明のしようがありません。実際"最初の回答"では、for文しか指摘していませんし、resize推奨していますし。気付いていたか気付いていなかったに関わらず、質問に書かれたコードの『仕様』が変わることについて、また、そのような回答をすることについて、どうお考えなのでしょう。質問に書かれたコードが"どうやってもこれは動作しない"等の理由から仕様を変更する必要がありそうな場合、及び質問者がそれを望んでいる場合は仕様変更も止む無しだと思いますが、基本的には、回答者は質問者の仕様を通すべきではないかと思っています。ないと回答者の意思の押し付けになってしまいますから。今回の件で、確認作業を怠ったこと、中途半端な回答をしてしまったことを反省しています。質問者のDOG様、ISLe様を始め多くの方にご迷惑をおかけしてしまい、申し訳ありませんでした。csvファイルの数値をvectorの2次元配列に格納するプログラム書いている最後にresizeを使わない方法で、「,」を含めたCSVファイル読み込みのコードは以下みたいな感じでしょうか。いうやつが書いたコードですので、DOG様の求めるコードとは程遠いとは思いますが、私なりにDOG様の最初の文だけを見て、組みたいのであろうなと思えるものを書き出してみました。実用的な意味で言えば、かずま様のコードの方が後々有効だと思いますので、あくまでこんな偏屈な方法もあるよ的な目で見て頂ければと。デストラクタで閉じるけれど明示する派の人間なので。プログラムの一部が間違ってました。実行結果コード:2,3,46,4,1,9,0,57,2,5,6長文失礼しました。最初の投稿ではresizeに触れていませんでしたね確か内容は変わらないんでしたねresizeを使わずに指摘できますでしょうかこの部分ですね。そもそも23行目で空のvectorに添字参照しようという考え方がおかしいと思います。resizeしても確保分超えたら同じことなので問題を先送りしてるだけですよね。resizeという単語を使わなければ良いのですか?そもそも23行目で空のvectorに添字参照しようという考え方がおかしいと思います。csvファイルの中身が最初から150行とかあったらKaienさんの指摘する問題を直してもやはり同じエラーが出ましたよね。いう感じでどうですか。Kaienさんの指摘投稿時点ではcsvファイルの中身は分かっていませんでした。空の要素にアクセスすることが問題だという主旨です。その可能性をゼロにすることが先決だと思ったので「そもそも」です。2次元配列であること自体がおかしいと思っていたので「考え方がおかしい」です。問題が分かりやすくなりましたねまず議題者の質問ですが「エラーが出て困っている」んですね「resizeさせてもエラーが出た」んですね議題者の投稿を見れば後々行、列を2次元配列に格納したい、動的確保したいであろう事を察するのは難しくないですねそうなれば後のfor文も変更されますねそちらから直そうと言うのは別におかしくないですね更に議題者がそこだけ解決して「ありがとうございました」と去っても諦めてもそれは議題者の自由ですね議題者がresizeでいいのだ、と言うのを我々がとやかく言う権利はないです動的確保が知りたければまた質問するでしょう。いらないと思ったら去るでしょうcsvの中身が多すぎでダメだったならまた質問するでしょう。解決するだけです冒頭の回答者に確保していないvectorの添字参照するのが問題である事が分からないresizeで解決させておけばいいやと考える人がいるとは思えないですね(Kaienさんはよく知らないですが)もっともそうした所でそれも回答者の自由ですよね。動的確保は別の人に任せて今取り組んでいる問題にだけ手助けする事は全く問題ではありませんね直し方の方針は人それぞれあるでしょうしかし今回Kaienさんが一番乗りして方針を決めているのですねなので皆それを邪魔しないように見守っていたのですねそれを横からちゃちゃを入れるなとは言いません。いう人に注意が効いた試しはないので「いるよねそういう人」で流すだけです皆流してますね。確保してエラーだーと言うほどのバカには見えませんが、Kaienさんがそれを確認しなかったのが不足なんでしょうかそれとも他の掲示板、題について思う事をここで述べただけなのでしょうか。エチケットに問題ありですねちなみに参照しようという考え方がおかしいのと参照しているのがおかしいも意味合いが結構変わってきますね。内容が変わるかというと微妙ですね別に深い意味はないです。5年前なんか非難しているみたいな書き方になっていますね、スミマセンこれは私が確認した経緯ではありますが、ソースを見ればvss.push_back(str);が原因であろう事は分かります。resizeしてもエラーが出た。見て確認より実行確認です(目は信用するな)。for文に間違いがある事が分かります。それを直す話で議題が進んでいるのでそれに乗りました。別の意見もあるものです。No:8要するにこういう事だ、というものを纏めてもらえたので(No:33)そこから「考え方」と「そもそも」を除いてみましょうかこれを除いても根本的に伝えたい内容は変わらない事をISLeさんは保証してくれています。>23行目で空のvectorに添字参照しているのがおかしいと思います。(それは分かっています)>もしもcsvファイルの中身が最初から150行とかあったらKaienさんの指摘する問題を直してもやはり同じエラーが出ましたよね。(No:3で分かっているので無意味ですね。それでなくとも普通十分な容量をとるものなのでは?)>空の要素にアクセスすることが問題だという主旨です。(そうですね、それも分かっています)>その可能性をゼロにすることが先決だと思ったのです。(後ではダメなんですか?既に進んでいる方針を壊してでも優先しなくてはならないほどの理由なのですよね)>2次元配列であること自体がおかしいです。(後々行、列を格納したいのだろうから特に不思議はないです)と普通なら括弧内のツッコミを入れる所ですがそこでポイントとなるのが私たちは確認不足だ、という事です。何かを確認すれば「ツッコミ」は「納得」に変わるのでしょう。私が確認した経緯は上記の通りですが実際確認した時間なんてたかが知れているので不十分だとは思います。後学のためにその確認方法を知りたいのです。確保してエラーだーと言うほどのバカには見えませんが、Kaienさんがそれを確認しなかったのが不足なんでしょうかそれとも他の掲示板、題について思う事をここで述べただけなのでしょうか。エチケットに問題ありですねなるほど。KairenさんはNo.2の投稿の時点で、No.3の投稿を予測できていたのですね。なければ、コメントアウトしてあるresizeを復活させても読み込み時のエラーが無くなる確証はないですからね。Kairenさんは本当のエスパーなのでしょうか。したら、このトピックが荒れないようにすることも可能だったのではないでしょうか。>23行目で空のvectorに添字参照しているのがおかしいと思います。>もしもcsvファイルの中身が最初から150行とかあったらKaienさんの指摘する問題を直してもやはり同じエラーが出ましたよね。(No:3で分かっているので無意味ですね。それでなくとも普通十分な容量をとるものなのでは?)resizeを復活させればpush_backの問題はなくなるかのように書いているのはNo.2です。ふつうはこうする、というのは思い込みですよね。>空の要素にアクセスすることが問題だという主旨です。>その可能性をゼロにすることが先決だと思ったのです。(後ではダメなんですか?既に進んでいる方針を壊してでも優先しなくてはならないほどの理由なのですよね)後ではダメです。問題が隠れてしまう可能性があります。それは最初から指摘しています。>2次元配列であること自体がおかしいです。(後々行、列を格納したいのだろうから特に不思議はないです)わたしは思考の過程を整理することが効率の良いプログラミングに重要な要素だと考えています。普通なら括弧内のツッコミを入れる所ですがそこでポイントとなるのが私たちは確認不足だ、という事です。何かを確認すれば「ツッコミ」は「納得」に変わるのでしょう。私が確認した経緯は上記の通りですが実際確認した時間なんてたかが知れているので不十分だとは思います。後学のためにその確認方法を知りたいのです。例外を食わせるというのは、デバッグの基本中の基本だと思っていました。それが浸透していないということに驚きを禁じえないのですが、考えてみればこれも思い込みでした。5年前そもそもこれが真摯な回答なのでしょうか。掲示板の総意としてそうだというのであれば、わたしはこの掲示板を見限るだけですが。vectorの確保領域以上の所にアクセスしているという旨のエラーその通りです。それが起こりそうな所をみるしかないですね。ちなみに、20行目のコメント部分を解除しても同様のエラーが出てしまいます。解除しても、別の所で領域外をアクセスしているので、同様のエラーが出ています。20行目の文は必要ですので、コメントは外してください。因みに原因はfor文の方にあります。1箇所だけ不自然な所があると思います。resizeのコメントアウトを解除するというのは、質問文では「ちなみに~」以降に書かれていることです。「必要ですので、コメントは外してください」と言い切っています。考えても質問者さんにきちんと向き合って回答しているようには思えません。なれば後のfor文も変更されますねそちらから直そうと言うのは別におかしくないですね更に議題者がそこだけ解決して「ありがとうございました」と去っても諦めてもそれは議題者の自由ですね議題者がresizeでいいのだ、と言うのを我々がとやかく言う権利はないです動的確保が知りたければまた質問するでしょう。いらないと思ったら去るでしょうcsvの中身が多すぎでダメだったならまた質問するでしょう。解決するだけですそもそも、vectorでメモリを動的確保できずエラーになるのはなぜか、という質問ですよ。「動的確保が知りたければまた質問するでしょう」?何を言っているのですか?あなたの日本語がわたしには分かりません。使用例を提示しておきます。使用しないと正しく読み込めたかの判断は難しいと思います。繰り返しを終了するのはエラー終了の場合もあるためです。さんへこちらにコメントをされても回答させていただくとは限りません。5年前>そもそもこれが真摯な回答なのでしょうか。>掲示板の総意としてそうだというのであれば、わたしはこの掲示板を見限るだけですが。最初の方の回答に乗っかって全体を見ずにコメントしてしまいました。後の展開は、どんどん進んでいったため内容に付いて行けなくなったので回答を控えておりました。これはISLeさんへの個人的な謝罪です。掲示板を代表するものではないと書き添えさせていただきます。今後間違いのない回答を皆さんに要求するものでもありません。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。うかつな書き込みをしてしまったためISLeさんに何か誤解を与えてしまったようで。このままでは見ている人がISLeさんが「ろくに確認もせずに書き込んだら実は自分がよく確認していなかった」のを指摘されて怒ったように誤解してしまうと思ってしまう可能性(持論の展開は自由ですが自分がやっているというカミングアウトは必要ないですからね)があると思ったので何とか誤解を解こうと思ったのですが反論として飛んでくるものが後から書き加えた内容の物ばかりだったのでこれは更にまずいと問題点を絞り、どういう確認をすればよかったのかを最終的な問いとしました。実際知りたい所ですからね大抵の場合、人は旗色が悪くなると関係ない話を始めるか意味が分からないと言いだすものですがたまたま忙しかっただけだと思いますので回答を待ちましょうまた私の日本語が通じなくとも一般的な確認なのであれば他の人が教えてくれるでしょう。>>動的確保は別の人に任せて今取り組んでいる問題にだけ手助けする事は全く問題ではありませんねとしているように>最初の方の回答に乗っかって全体を見ずにコメントしてしまいましたでは不足と言われても釈然としないですね>掲示板の総意としてそうだというのであれば、わたしはこの掲示板を見限るだけですがもちろんそれは自由であってISLeさんの行動を束縛する権利は誰にもありません他の掲示板で回答される事と思いますので私も困ったら質問に行きますよ以降は単なる持論になりますが私は確認を怠ったり間違ったりして後で気がついても、自分の体裁を守るために間違った事を押しつけるという行為は絶対に許しません。それは間違いの度合いではなく姿勢そのものがです。自分に権力が、力があると思うと「見限るぞ」とか脅しにも似た言葉で仲裁する立場の者を味方につけようとし始めたりするものです。5年前オフトピック別に私はこの流れがどう転んでも構いませんし、誰と誰がいがみ合おうが構いません。話に横槍を入れたくもないですし、関わりたくもないのですが、少し書き込ませていただきます。No:16を始めとして、書き込みに皮肉や煽り、挑発が多いと感じます。トピックが荒れているのは明白ですが、あまりに見るに耐えません。以降は単なる持論になりますが私は確認を怠ったり間違ったりして後で気がついても、自分の体裁を守るために間違った事を押しつけるという行為は絶対に許しません。それは間違いの度合いではなく姿勢そのものがです。自分に権力が、力があると思うと「見限るぞ」とか脅しにも似た言葉で仲裁する立場の者を味方につけようとし始めたりするものです。インターネットは特にこの掲示板は皆が平等ですあくまで例として最近であるN.Rさんの書き込みを挙げさせてもらいますが、このように個人の持論をここで展開する必要はありません。ここでそれを書き込む必要は無いですよね。ここにそれを書き込むのは第三者から見たらただの煽りです。回答者同士で、解決の流れに納得がいかないなら他所で話し合って頂けますか。自分が許せない行為があるならTwitterででも意見を述べてはいかがでしょうか。最初に解答した人の流れで解決しなければならないルールもありません。最初に解答した人の流れに納得出来ないなら当人とPMなりで話し合うのが筋ではないでしょうか。質問者の前で回答者たちが「こう教えるべきだ」と喧嘩していても質問が埋もれるだけです。ISLeさんとN.Rさんの議論のことです。どちらが正しいかどうかに私は興味はありません。喧嘩は見ているだけで不快に感じる人も居ます。ここで終わりにするか、続けるなら他所でお願いします。ISLeさんが自ら身を引いて掲示板を去ってくださって、終わるかと思ったのに続けられても不快です。最近ここのチャットでもこのトピックは話題になりましたが、そちらでも不快に感じた人しか居ませんでした。第三者に対し不快な行為だと自覚してください。ここは第三者も見ているトピックであり、第三者は問題の解決を知りたいだけです。解決方法の荒れた議論を見たいわけではありません。ここは自由に持論を展開していい場所ではありません。その話はここでやめる事を要求します。本当はN.Rさんに直接送りたいのですが、連絡手段が無いため、オフトピックとして投稿させていただきます。私に文句があれば時間のあるときに返事しますので、lowe4649+mixcpp♪gmail.comまでメールでお伝え下さい。♪は@に変えてください。長文失礼いたしました。5年前>>DOGさん見ていらっしゃるかわかりませんがvssの要素であるvss[]の要素の動的確保はしようとしているのにvssの要素の動的確保をしていないように見えます。他の人には迷惑ですからねこのくらいにしておきます。5年前ISLeさんもN.Rさんもkaienさんも、どなたも誰も去らないでほしいです。知識や技術、そして教え方、人によって様々かと思いますがそれでも、初心者で迷える子羊である質問者に対してなんとか力になってあげようとする心意気は皆さん同じなはずです。普段からこの掲示板のレスをくださる皆さんに感謝の気持ちを感じてるこちら側の人間からしたらあまりに悲しすぎます。先生同士がもめて片方がいなくなるなんて生徒からしたらやるせなさすぎです。アフリカは難民からしたら、ボランティアでやってきた人たちがケンカをし始め、両方とも帰ってしまうようなもんです。残された難民が悲しすぎます。無理に仲直りしてくださいとは言いませんが、ただでさえ若いモノたちが敬遠して廃れ気味のC言語です。今後もその迷えるプログラマたちの力になってやってほしいです。ミクプラは自由にリンクできます。