错误:C++中']'令牌之前的预期主表达式
Error: expected primary-expression before ']' token in C++
我正在尝试使用向量创建类似于string.find
的东西c++98
,但我无法修复此错误。 我已经简化了代码,只留下了错误。 如果我能获得有关如何实现这一目标的帮助。
#include <iostream>
#define MAX 99999
using namespace std;
int free_pos (int v[]);
int find_line (int v[], int pos);
int main() {
char text[MAX];
int loc_key[MAX],start_line[MAX]; //
for(int i=0; i<free_pos(loc_key);i++) {
cout << "Line: " << i+1;
int pos = find_line(start_line[],loc_key[i]); //Here is the error
for(int j=start_line[pos];j<start_line[pos+1];j++) {
cout<<text[j];
}
cout<<endl;
}
return 0;
}
int free_pos (int v[]) {
for(int i=0;i<MAX;i++){
if(v[i] == 0)
return i;
}
return 99;
}
int find_line (int v[], int pos) {
for(int i=0; i<free_pos(v); i++) {
if(v[i]==pos)
return v[i];
if(v[i]< pos)
return v[i-1];
}
}
你的两个函数
int free_pos (int v[]);
int find_line (int v[], int pos);
将数组作为输入,但随后您尝试调用int pos = find_line(start_line[],loc_key[i]);
,它应该只采用数组的名称,因为它是程序称为数组的名称。如果您按照以下方式编写这两个函数,您可以更轻松地(在我看来(获得它:
int free_pos (int* v);
int find_line (int* v, int pos);
它们与你的函数做同样的工作,但你可以看到它们的参数是:一个 int 指针(数组(和一个 int。然后,调用函数只需要 int 指针(在您的情况下为start_line
和整数loc_key[i]
。如果你仍然无法理解它,你可以阅读数组的动态内存分配,其完成方式为:int* arr; arr = new int[your_size];
- 我认为以这种方式思考时会更清楚。
#include<bits/stdc++.h>
using namespace std;
int max(int arr[],int n){
maximum=INT_MAX;
for(int i=0;i<n;i++){
if(arr[i]>maximum){
maximum=arr[i]}}
return maximum;}
int main(){
int size;
cin>>size;
for(int i=0;i<size;i++){
cin>>arr[i]}
cout<<max(arr,size);
return 0;}
相关文章:
- (C++)分析树以计算返回错误值的简单算术表达式
- 在VS2010-VS2015下编译时,如何使用decltype作为较大类型表达式的LHS
- 提升精神:解析布尔表达式并简化为规范范式
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 使用正则表达式regex_search在字符串中查找字符串
- 如何确认我的constexpr表达式实际上已经在编译时执行
- 概念中的cv限定符需要表达式参数列表
- 为什么constexpr的性能比正常表达式差
- 对于结构,表达式必须是可修改的ivalue
- 当一个值是非常量但用常量表达式初始化时使用constexpr
- 将fold表达式与std::一起用于两个元组
- 断言中的Fold表达式在某些计算机上编译,但在其他计算机上不编译
- 标记 '","' 之前的预期主表达式
- gcc和clang在表达式是否为常量求值的问题上存在分歧
- 如何计算具有指定类型的表达式的相对精度和绝对精度
- 带有用户定义类的c++折叠表达式
- 即使使用调试编译标志,表达式也是"optimized out"
- holeMenuProgram.cpp:38:1 错误:'}'令牌之前的预期主表达式
- 在 C++ 中使用正则表达式错误时出现问题 括号表达式中的范围无效
- 这 4 个 lambda 表达式之间有什么区别?