use*_*634 3 c++ arrays compiler-errors class declaration
我正在尝试使用类创建动态数组.在我的头文件中,我有以下代码:
#ifndef DYNAMICARRAY
#define DYNAMICARRAY
#include <iostream>
class Array
{
public:
Array(); // Constructor - Initialises the data members
~Array(); // Destructor - That deletes the memory allocated to the array
void addTings (float itemValue); // which adds new items to the end of the array
float getTings (int index); // which returns the item at the index
void size(); // which returns the number of items currently in the array
private:
int arraySize;
float *floatPointer = nullptr;
};
#endif // DYNAMICARRAY
Run Code Online (Sandbox Code Playgroud)
在我的.cpp文件中,我有以下代码:
#include "DYNAMICARRAY.h"
Array::Array()
{
floatPointer = new float[arraySize];
}
Array::~Array()
{
delete[] floatPointer;
}
void Array::addTings (float itemValue); // Out-of-line declaration ERROR
{
std::cout << "How many items do you want to add to the array";
std::cin >> arraySize;
}
float Array::getTings (int index); // Out-of-line declaration ERROR
{
}
void Array::size()
{
}
Run Code Online (Sandbox Code Playgroud)
我得到一个成员的外线声明必须是两行的定义编译错误:
float Array::getTings (int index);
Run Code Online (Sandbox Code Playgroud)
和
void Array::addTings (float itemValue);
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么?我以为我已经正确地将头文件链接到cpp文件,但显然没有?
Lau*_*tei 11
您应该删除cpp文件中的分号.
void Array::addTings (float itemValue);
Run Code Online (Sandbox Code Playgroud)
应该
void Array::addTings (float itemValue)
Run Code Online (Sandbox Code Playgroud)
正确的代码是:
void Array::addTings (float itemValue) // Out-of-line declaration ERROR
{
std::cout << "How many items do you want to add to the array";
std::cin >> arraySize;
}
float Array::getTings (int index) // Out-of-line declaration ERROR
{
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10338 次 |
| 最近记录: |