この問題はMacOS上にのみ存在するようですが、clangを使用してもlinuxでコンパイルできます。MacOSでClangのコンパイルエラー
clang++ -std=c++11 main.cpp -o test
:これらは、使用しているコンパイラの引数た
main.cpp:2:5: error: redefinition of 'index' as different kind of symbol
int index = 0;
^
/usr/include/strings.h:73:7: note: previous definition is here
char *index(const char *, int) __POSIX_C_DEPRECATED(200112L);
^
main.cpp:5:18: warning: address of function 'index' will always evaluate to
'true' [-Wpointer-bool-conversion]
std::cout << index << std::endl;
~~ ^~~~~
main.cpp:5:18: note: prefix with the address-of operator to silence this warning
std::cout << index << std::endl;
^
&
1 warning and 1 error generated.
:
次のコードは、
#include<iostream>
int index = 0;
int main()
{
std::cout << index << std::endl;
}
は、コンパイルでこのエラーをスローし、簡素化されますが、問題を示していますstdioでiostreamを削除するか、コードが期待通りにコンパイルされません。彼らはこれを修正する方法ですか、あるいはこれを避けるために変数の名前を変更する必要がありますか?
私はthisを見つけましたが、すでにC++ 11フラグを使用していますが、-std = c11フラグはC++コードでは有効ではないようです。
なぜそれをコンパイルすると思いますか? – juanchopanza
'index'とは何だと思いますか? –
あなたは明らかにコードを再入力しています - そうしないでください - コピー&ペーストを使って投稿してください。 –