1

プロジェクトに OpenCV ライブラリを使用し、ソース ファイルに名前空間 "cv" と "std" を使用しています。文字列分割関数を使用して、区切り記号に基づいて文字列を分割したいと考えています。名前空間「cv」であり、OpenCV slpit 関数に関連する引数を期待しているため、間違った引数に関連するエラーが表示されています。

この問題を解決するにはどうすればよいですか?std と cv anmespace の両方が含まれている別のソース ファイルでも、同じ関数が正常に機能していることがわかります。

これらは、両方のファイルに含めているヘッダーです-

#include "stdafx.h"
#include <unordered_map>
#include <iostream> // for standard I/O
#include <fstream>
#include <string>   // for strings
#include <iomanip>  // for controlling float print precision
#include <sstream>  // string to number conversion
4

4 に答える 4

10

コード、特にヘッダーに using namespace std;andを含めないでください。 自分を止めることができない場合は、必要な場所で関数を完全に修飾します。using namespace cv;

std::split(...)
于 2013-08-05T18:28:17.963 に答える
0

あなたがする必要があるのは、関数の前にその名前空間を付けることだけです。

std::split(...);
于 2013-08-05T18:28:37.867 に答える
0

これは、明示的な名前空間指定子を使用することで克服できます。

std::split
于 2013-08-05T18:31:26.937 に答える