-3

クラスを含む1つの.hと2つの.cppがあり、1つはメインで、もう1つは関数を保持しています。

私のコンパイラは私にこれらのエラーを与えています

  • Functions.cpp:メンバー関数内âvoidFlandre:: add()â:
  • Functions.cpp:10:3​​:エラー:âcinâはこのスコープで宣言されていません
  • Functions.cpp:12:33:エラー:âstrlenâはこのスコープで宣言されていません
  • Functions.cpp:16:6:エラー:âcoutâはこのスコープで宣言されていません
  • Functions.cpp:16:57:エラー:âendlâはこのスコープで宣言されていません
  • Functions.cpp:21:7:エラー:âcoutâはこのスコープで宣言されていません
  • Functions.cpp:21:53:エラー:âendlâはこのスコープで宣言されていません
  • Functions.cpp:27:9:エラー:ISOのスコープ用に変更されたâiâの名前ルックアップ[-f
  • Functions.cpp:27:9:注:(â-fpermissiveâを使用する場合、G ++はコードを受け入れます)
  • Functions.cpp:27:16:エラー:âKYUUâはこのスコープで宣言されていません
  • Functions.cpp:32:6:エラー:âcoutâはこのスコープで宣言されていません
  • Functions.cpp:32:57:エラー:âendlâはこのスコープで宣言されていません
  • Functions.cpp:35:17:エラー:â[âトークンの前にプライマリ式が必要です
  • Functions.cpp:37:14:エラー:â[âトークンの前に非修飾IDが必要です
  • Functions.cpp:38:14:エラー:â[âトークンの前に非修飾IDが必要です
  • Functions.cpp:39:14:エラー:â[âトークンの前に非修飾IDが必要です

関数の#includeヘッダーと関係があると思います

Newprogram2.cpp

>#include <iostream>
#include <string>
#include "newprogram2.h"

Functions.cppいくつかの部分が欠落していますが、add()を最初に機能させることができるように、それをコンパイルしたいだけです。

#include "newprogram2.h"

newprogram2.h

#ifndef NEWPROGRAM2_H
#define NEWPROGRAM2_H
#include<string>
using namespace std;
    #endif
4

1 に答える 1

1

使用する関数に適切なヘッダーを含める必要があります。

のためcinに、coutそしてendlあなたがする必要があります#include <iostream>、あなたはあなたの2番目の.cppファイルでそれをするのを忘れました

( http://www.cplusplus.com/reference/string/ を参照) ではなく( http://www.cplusplus.com/reference/cstring/strlenを参照) にあるため、コンパイラはstrlen関数として認識しません。 / )。<string><string.h>

size()または のいずれかを使用することをお勧めします。length()これらは にあります。どちらもオブジェクト<string>で呼び出すことができます。std::string


Functions.cpp:27:16: error: âKYUUâ was not declared in this scope

このエラーは、別の .cpp ファイルで宣言した変数にアクセスしようとしたために表示されます。アクセスしようとしている .cpp ファイルは、この変数を認識していません。これは、変数をヘッダー ファイルに移動することで修正できます。


Functions.cpp:27:9: error: name lookup of âiâ changed for ISO âforâ scoping

これを変更することで修正できます

for(i=0;i<=KYUU;i++)

これに

for(int i=0;i<=KYUU;i++)

Functions.cpp:35:17: error: expected primary-expression before â[â token
Functions.cpp:37:14: error: expected unqualified-id before â[â token
Functions.cpp:38:14: error: expected unqualified-id before â[â token
Functions.cpp:39:14: error: expected unqualified-id before â[â token

これらのエラーは、この のように、クラスからインスタンス化されたオブジェクトではなく、クラスで関数を直接呼び出そうとしたために表示されますFlandre[i].getid()。それを行うことはできません。代わりにオブジェクトを作成し、オブジェクトの関数を呼び出します。

于 2013-03-10T23:58:12.677 に答える