error1:
int len = points.size();
bitset<len> bs(7);
报告:
the value of 'len' is not usable in a constant expression
解决:bitset模板参数必须声明为const,这样在编译的时候才能实例化该模板。bitset没有提供修改其大小和添加删除元素的接口,故不能进行修改。这就限制了我在这个程序中的使用,如果需要动态改变位的大小可考虑换用vector<bool>。
error2:
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
TreeNode* root = new TreeNode();
报告:
no matching function for call to 'TreeNode::TreeNode()'
解决:C++ 中new 完成两个功能: 1. 分配空间, 2 调用构造函数。该错误是由于构造函数调用错误,需要在调用构造函数的时候指定初始化val值。
error3:
int val = 4566;
string ss= to_string(val);
报告: ‘to_string’ was not declared in this scope s = to_string(n);
解决:c++11特性,需要加上编译选项 -std=c++11 。