我必须忽视一些简单的事情,但是我在很短的时间内做了很多事情,以至于我可能只是过度劳累。无论如何,这是我收到错误的地方。
#include<iostream>
#include<algorithm>
#ifndef Numbers
#define Numbers
class Numbers{
public:
Numbers(){capacity=5; used=0; data = new unsigned long[capacity];}
它只是Numbers类的构造函数。该课程的私人区域如下。
private:
unsigned long *data;
std::size_t used;
std::size_t capacity;
};
同样,这可能是我看不到的简单事情,我也确定其他人也会遇到问题。
编辑:错误如下
numbers.h:9:11: error: expected unqualified-id before ')' token
Numbers(){capacity=5; used=0; data = new unsigned long[capacity];}
^
答案 0 :(得分:3)
运行预处理器,这个:
#ifndef Numbers
#define Numbers
class Numbers{
public:
Numbers(){capacity=5; used=0; data = new unsigned long[capacity];}
成为此:
class {
public:
() {capacity=5; used=0; data = new unsigned long[capacity];}
您的类名与include-guard fencepost宏相同。由于Numbers
将替换为.. nothing ..您没有类名,也没有构造函数名。不要那样做。
尝试:
#ifndef MYAPP_NUMBERS_H
#define MYAPP_NUMBERS_H
#include <iostream>
#include <algorithm>
class Numbers
{
public:
Numbers()
{
capacity=5;
used=0;
data = new unsigned long[capacity];
}
...etc...