小编Adi*_*Adi的帖子

如何在C++ 11中输出枚举类的值

如何enum class在C++ 11中输出a的值?在C++ 03中,它是这样的:

#include <iostream>

using namespace std;

enum A {
  a = 1,
  b = 69,
  c= 666
};

int main () {
  A a = A::c;
  cout << a << endl;
}
Run Code Online (Sandbox Code Playgroud)

在c ++ 0x中,此代码无法编译

#include <iostream>

using namespace std;

enum class A {
  a = 1,
  b = 69,
  c= 666
};

int main () {
  A a = A::c;
  cout << a << endl;
}


prog.cpp:13:11: error: cannot bind 'std::ostream' lvalue to 'std::basic_ostream<char>&&' …
Run Code Online (Sandbox Code Playgroud)

c++ enums c++11 enum-class

83
推荐指数
5
解决办法
8万
查看次数

为什么这段代码不能编译?

这些代码有什么不同:

std::string dirName = argv[1];
MyRecordDatabaseType myDB(Selector<std::string>((std::string)dirName));
Run Code Online (Sandbox Code Playgroud)

std::string dirName = argv[1];
MyRecordDatabaseType myDB(Selector<std::string>(dirName));
Run Code Online (Sandbox Code Playgroud)

我不知道为什么第二个版本不能编译.

编译器告诉我:

error: request for member ‘createGroupWriter’ in ‘myDB’, which is of non-class type ‘main(int, char**)::MyRecordDatabaseType(Selector<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)’
Run Code Online (Sandbox Code Playgroud)

在线:

MyRecordDatabaseType::writer_type myWriter(myDB.createGroupWriter(groupName));
Run Code Online (Sandbox Code Playgroud)

抱歉,但我无法向您展示Selector或任何其他类的代码.

也许你没有那个可以帮助我?

c++ compiler-errors

1
推荐指数
1
解决办法
143
查看次数

标签 统计

c++ ×2

c++11 ×1

compiler-errors ×1

enum-class ×1

enums ×1