Mac OSでコードをコンパイルするときに問題があります。私のヘッダファイルでこの関数の宣言は明らかに(それはしかし、Windowsで正常に動作しない)いくつかのエラーが発生します。mac/linux用にコンパイル時のstd :: pairエラー
#include <string>
#include <vector>
#include <map>
#ifdef WIN32
#include <windows.h>
#endif
[...]
int setProcessEnvironment(
const wchar_t * procName,
const wchar_t * appName = NULL,
const wchar_t * workingDir = NULL,
const wchar_t * cmdArgs = NULL,
const std::vector< std::pair<const wchar_t *, int> > &systemEnvVars = std::vector< std::pair<const wchar_t *, int> >()
);
コンパイラは私のペアの入力を好きではないように見えます - 多分私はいくつかが含まれて行方不明です何が問題なの?
私の機能の説明は、実際にこのエラーのものと非常に異なって見えるように私は、完全にこのエラーメッセージの最後の行を理解していない...私はそれはとしなければならないかもしれないと思うし始めています
デフォルトの初期設定ですが、MacとWindowsの違いは何ですか?
26: error: expected ‘,’ or ‘...’ before ‘>’ token
26: error: wrong number of template arguments (1, should be 2)
/usr/include/c++/4.2.1/bits/stl_pair.h:68: error: provided for ‘template<class _T1, class _T2> struct std::pair’
26: error: template argument 1 is invalid
26: error: template argument 2 is invalid
26: error: default argument missing for parameter 6 of ‘int SysProcManager::setProcessEnvironment(const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const std::vector<std::pair<const wchar_t*, int>, std::allocator<std::pair<const wchar_t*, int> > >&, int)’
159: error: prototype for ‘int SysProcManager::setProcessEnvironment(const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const std::vector<std::pair<const wchar_t*, int>, std::allocator<std::pair<const wchar_t*, int> > >&)’ does not match any in class ‘SysProcManager’
26: error: candidates are: int SysProcManager::setProcessEnvironment(const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const std::vector<std::pair<const wchar_t*, int>, std::allocator<std::pair<const wchar_t*, int> > >&, int)
138: error: int SysProcManager::setProcessEnvironment(const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const std::vector<const wchar_t*, std::allocator<const wchar_t*> >&)
エラーは、関数の呼び出しで何かする必要があるようです。 26行目はどこにあるのか教えていただけますか? –
私は上の小さなコードの例で26行目をインクルードしました。これはヘッダーファイルのこの関数の宣言です – Chris
空のベクトルへの 'const'リファレンスを使って何をする予定ですか? –