私はブースト配列エラー:配列 ':あいまいなシンボル
を使用するトリングだが、私はこのエラーを得た:ここ
error: 'array': ambiguous symbol
は私のコードです:
#include <iostream>
#include <boost/array.hpp>
#include <boost/regex.hpp>
using namespace boost;
using namespace std;
int main(int argc, char* argv[])
{
array<int, 10> a{3};
cout << "a[0]= " << a[0];
return 0;
}
このエラーブーストライブラリを含めると発生します
何がいいですか?
'array'はstd''に受け入れられました。なぜあなたはまだ古い 'boost'バージョンを使用しようとしていますか?そして、ここに 'using namespace'の危険性があります:あなたは(概念的な)グローバルシンボル空間に浮かぶ両方のバージョンを持っています。私はこれが正規表現にも当てはまると信じています。 'std'バージョンを使用してください。完全修飾(' namespace'を使用しないでください)が望ましいです。 –
私はboostライブラリを学習しています – linuxD
'std'に受け入れられたライブラリの部分との競合を招待しているときは' using namespace'を止めてください。そのため、 'boost ::'や 'std ::'という接頭辞を使って曖昧さを解消する必要があります。これは、とにかく 'using namespace'と入力しなくてもかまいません。 –