0

関数内にいくつかのコードを取り、それをさらに別の関数内に配置する必要があります。唯一の問題は、変数がスコープ外になったことです。両方を参照として渡そうとすると、エラーの猛攻撃に遭遇する可能性があります。

私のコードの関連部分は次のようになります。

Route::Route(std::string source) //constructor function
{
    std::ostringstream oss;

    function(source, oss);
}

void function(std::string* &source, std::ostringstream* &oss)
{
    //function
}

コンストラクターは source と oss を処理する必要があり、関数もそれらを処理する必要があります。それは純粋に構文エラーですか、それとも不可能なことをしようとしていますか?

4

2 に答える 2

2

これは純粋な構文エラーです。やりたいことは問題ありません。

Route::Route(std::string source) //constructor function
{
    std::ostringstream oss;

    function(source, oss);
}

void function(std::string& source, std::ostringstream &oss)
{
    //function
}

*あなたの場合に意味する ( std::string*&) 文字列のポインタへの参照を取り除くだけで済みます。

これらの構文を、アドレスを取得する型&に渡される変数のアドレスを与える Cの演算子と間違えた可能性があると思います。foo*

于 2014-02-13T19:12:09.767 に答える