C++ 错误:请求成员…;它是非类类型的
我理解这与我的指针有关,但我不确定为什么,也不知道如何修复它。谢谢你的帮助。Main非常糟糕,我知道,它目前正在测试数组的输入。我还不允许使用向量,否则这会容易一点 Main.cppC++ 错误:请求成员…;它是非类类型的,c++,pointers,compiler-errors,C++,Pointers,Compiler Errors,我理解这与我的指针有关,但我不确定为什么,也不知道如何修复它。谢谢你的帮助。Main非常糟糕,我知道,它目前正在测试数组的输入。我还不允许使用向量,否则这会容易一点 Main.cpp #include <iostream> #include <fstream> #include <iomanip> #include <cmath> #include <ctime> #include <cstdlib> #include "T
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>
#include <ctime>
#include <cstdlib>
#include "ToDoList.h"
using namespace std;
int main() {
string input;
ToDoList List(); // <-- ERROR HERE
for (int i = 0; i < 4; i++){
cout << "Input 'To Do' to add to list.";
cin >> input;
List.AddToArray(input); // <-- ERROR HERE
}
List.ListArray();
return 0;
}
#包括
#包括
#包括
#包括
#包括
#包括
#包括“ToDoList.h”
使用名称空间std;
int main(){
字符串输入;
ToDoList();//输入;
List.AddToArray(输入);//数组[array_count];
对于(int i=0;i 无法打开编译器警告。我知道至少Clang对此给出了一个清晰的信息。ToDoList();
这是一个函数声明。您得到了什么错误?main.cpp:28:14:error:request for member'AddToArray'in'List',这是一个非类类型的'ToDoList())'main.cpp:30:10:错误:请求'List'中的成员'ListArray',该成员为非类类型'ToDoList()'这是两个错误。@user3047909 jrok已经指出了问题,请尝试在列表
之后删除()
。
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>
#include <ctime>
#include <cstdlib>
#include "ToDoList.h"
using namespace std;
ToDoList::ToDoList() {
array_count = 3;
array = new string[3];
array_count_data = 0;
}
ToDoList::ToDoList(const ToDoList& L) {
array_count = L.array_count;
array_count_data = L.array_count_data;
for (int k = 0; k < array_count; k++)
array[k] = L.array[k];
}
ToDoList::~ToDoList() {
delete []array;
}
void ToDoList::AddToArray(string input){
if (array_count == array_count_data){
string * upsize_array = new string[array_count + 1];
for(int i = 0; i < array_count; i++)
upsize_array[i] = array[i];
delete [] array;
array_count++;
this->array[array_count];
for(int i = 0; i < array_count; i++)
array[i] = upsize_array[i];
delete [] upsize_array;
}
array[array_count_data] = input;
array_count_data++;
}
void ToDoList::ListArray(){
for(int j = 0; j < array_count_data; j++){
cout << array[j] << endl;
}
}