c++ - 声明向量的向量时出错
问题描述
这是向量的声明向量的错误方法吗
vector<vector<bool>> visited(100, vector<bool>(100,false));
得到错误为:
Line 5: Char 34: error: expected identifier before numeric constant
vector<vector<bool>> visited(100, vector<bool>(100,false));
我在解决方案类的开始时声明了它
在下面的程序中
#include<iostream>
#include<vector>
using namespace std;
class Solution {
public:
int nr,nc;
//vector<vector<bool>> visited(1000,vector<bool>(1000,false)) ;
vector<vector<bool>> visited(100, vector<bool>(100,false));
bool dfs(vector<vector<char>>& board,string word,int i,int j,int cr){
visited[i][j]=true;
if(cr==word.length())
return true;
if(cr>word.length())
return false;
if(j+1<nc && board[i][j+1]==word[cr] && !visted[i][j+1])
return dfs(board,word,i,j+1,cr+1);
if(j-1>=0 && board[i][j-1]==word[cr] && !visited[i][j-1])
return dfs(board,word,i,j-1,cr+1);
if(i+1<nr && board[i+1][j]==word[cr] && !visited[i+1][j])
return dfs(board,word,i+1,j,cr+1);
if(i-1>=0 && board[i-1][j]==word[cr] && !visited[i-1][j])
return dfs(board,word,i-1,j,cr+1);
return false;
}
bool dfs_help(vector<vector<char>> &board,string word){
for(int i=0;i<board.size();i++){
for(int j=0;j<board[0].size();j++){
visited[i][j]=false;
}
}
}
for(int i=0;i<board.size();i++){
for(int j=0;j<board[0].size();j++){
if(board[i][j]==word[0]){
visited[i][j]=true;
if(dfs(board,word,i,j,1))
return true;
}
}
}
return false;
}
vector<string> findWords(vector<vector<char>>& board, vector<string>& words) {
nr = board.size();
nc = board[0].size();
vector<string> ans;
for(string v : words){
if(dfs_help(board,v))
ans.push_back(v);
}
sort(ans.begin(),ans.end());
return ans;
}
};
int main(){
}
解决方案
如果你想构造一个成员变量,例如std::vector
使用大小参数,你这样做的方法是使用构造函数的成员初始化列表Solution
。
为此,您应该删除给出错误的行,而是添加一个默认构造函数,Solution
以便可以初始化成员:
class Solution
{
//...
Solution() : visited(100, std::vector<bool>(100,false)), nr(0), nc(0) {}
//...
};
推荐阅读
- python - 如何在scrapy循环中选择元素?
- html - 如何在每个导航链接下添加边框而不使底部边框更粗
- python-3.x - 如何抓取 pdf 文件以制作 DF
- sapui5 - 何时加载 Component.js?
- python-3.x - 如何在 sklearn LogisticRegression 函数中计算 L2(岭)惩罚?
- pug - 玉的时候怎么放两个链接?
- android - 如何将领域数据同步到 Amazon Dynamo Db(云)
- c# - 为什么要执行一个新线程而不创建一个新线程?
- android - 回收站视图中的黑色圆边
- java - How to Export user libraries with project files to be able to compile the project on another pc