2017-01-26 5 views
-7

これは私のコードなので、次のエラーが発生します。C++配列のエラーが型に一致しません

コード

#include <vector> 
#include <iostream> 
//... 
using namespace std; 
main(){ 
vector<int> arrayi; 
int i = 999;   // some integer value 
arrayi.reserve(10); // make room for 10 elements 
arrayi.push_back(i); 
cout<<arrayi.capacity()<<endl; 
cout<<arrayi.size()<<endl; 
} 

エラー

|| ===ファイルのビルド: "いいえプロジェクト"(コンパイラ:不明)に "無ターゲットを" === | エラー: '配列i'は型名を指定しません。

エラー: 'arrayi'はタイプを指定しません。

エラー: 'cout'はタイプに名前を付けません。

エラー: 'cout'はタイプに名前を付けません。

|| ===ビルドに失敗しました:4エラー(s)は、0警告(秒)(0分(秒)、0秒(秒))=== |

どこが間違っていましたか?

+2

コードは機能に含まれていませんか?おそらく、スペースを節約するために 'main()'を削除したかどうかは分かりません。 – Rakete1111

+1

質問を編集してリンクの代わりにエラーテキストを追加してください。 – Slava

+0

'main'は戻り値の型が' int'です。それ以外は、この例では明らかなエラーはありません。これは 'main'の前に' int'を追加するとうまくコンパイルされます。あなたが提供する例が実際にあなたが求めている問題を作り出していることを確認してください。 –

答えて

1

あなたはネームスペースで/ [ファイル] - scopeで表現statementsを持っていないかもしれません。宣言文のみが許されます。

関数を宣言し、その関数のブロックスコープ内の式を書きます。特に、私はmain functionを宣言することをお勧めします。これは、C++プログラムには1つが含まれている必要があるからです。主な機能は、プログラムのエントリポイントです。

+0

ありがとうuser2079303 –

1

あなたのコードは、グローバル名前空間であり、それはmain()ような関数に行く必要があります。

#include <vector> 
#include <iostream> 

int main() 
{ 
    std::vector<int> arrayi; 
    int i = 999;   // some integer value 
    arrayi.reserve(10); // make room for 10 elements 
    arrayi.push_back(i); 
    std::cout << arrayi.capacity() << std::endl; 
    std::cout << arrayi.size() << std::endl; 
} 

Demo

+0

ありがとう@ Jarod42、私はC + +の初心者です。 –

関連する問題