- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在类里面被分配到:
Write a program that creates and manages arrays by the use of pointers. Your main program should interact with pointers/arrays only through various functions. These functions will then limit the use of array to their proper handling. For example these functions will eliminate the possibility of overstepping the boundaries of an array.
到目前为止,我已经编写了程序并修复了大部分错误,但是无论我尝试什么,我都会不断收到“未在此范围内声明的函数”错误。该程序包括以下文件:main.cpp
MyArray.cpp
和 MyArray.h
#include <iostream>
#include "MyArray.h"
using namespace std;
int main(int argc, char * argv[]) {
int *Array1, *Array2;
int Array1Size(10), Array2Size(10);
int Array1Value(0), Array2Value(0);
cout << "Enter Size and Initial value for Array1: ";
cin >> Array1Size >> Array1Value;
cout << "Enter Size and Initial value for Array2: ";
cin >> Array2Size >> Array2Value;
CreateArray(Array1, Array1Size);
InitArray(Array1, Array1Size, Array1Value);
CreateArray(Array2, Array2Size);
InitArray(Array2, Array2Size, Array2Value);
cout << "Printing Array1:" << endl;
PrintArray(Array1, Array1Size);
cout << endl;
cout << "Printing Array2:" << endl;
PrintArray(Array2, Array2Size);
cout << endl;
if(CopyArray(Array1, Array1Size, Array2, Array2Size)) {
cout << "Copy was successful" << endl;
} else {
cout << "Copy was not successful" << endl;
}
cout << "Printing Array1:" << endl;
PrintArray(Array1, Array1Size);
cout << endl;
EnterArray(Array1, Array1Size);
// MergeArray(Array1, Array1Size, Array2, Array2Size);
cout << "Printing Array1:" << endl;
PrintArray(Array1, Array1Size);
cout << endl;
return 0;
}
#ifndef _MyArray_h_included_
#define _MyArray_h_included_
class MyArray
{
public:
void CreateArray(int *array, int size);
/*
CreateArray(int *array, int size): Will accept a pointer to an array, and the size of the array and will allocate the appropriate amount of memory for the array
*/
void InitArray(int *array, int size, int value);
/*
InitArray(Array1, Array1Size, Array1Value): Will initialize the contents of the arry Array1 to the value Array1Value
*/
void PrintArray(int *array, int size);
/*
PrintArray(Array1, Array1Size): Will print the contest of the Array1
*/
bool CopyArray(int *arrayOne, int sizeOne, int *arrayTwo, int sizeTwo);
/*
CopyArray(Array1, Arrary1Size, Array2, Array2Size): Will copy the contents of Array2 to Array1 iff the two arrays are of equal size. If the copying process is successfully completed, then a value of 1 is returned, otherwise a value of 0 is returned.
*/
void EnterArray(int *array, int size);
/*
EnterArray(Array1, Array1Size): Will populate the Array1 from the stdin by prompting the user to enter all elements of the array.
*/
};
#endif
#include <iostream>
#include "MyArray.h"
using namespace std;
void MyArray::CreateArray(int *array, int size) {
array = new int[size];
}
/*
CreateArray(int *array, int size): Will accept a pointer to an array, and the size of the array and will allocate the appropriate amount of memory for the array
*/
void MyArray::InitArray(int *array, int size, int value) {
for(int index(0); index < size; index++) {
array[index] = value;
}
}
/*
InitArray(Array1, Array1Size, Array1Value): Will initialize the contents of the arry Array1 to the value Array1Value
*/
void MyArray::PrintArray(int *array, int size) {
for(int index(0); index < size; index++) {
cout << "Value of index: " << index << " is " << array[index] << endl;
}
}
/*
PrintArray(Array1, Array1Size): Will print the contest of the Array1
*/
bool MyArray::CopyArray(int *arrayOne, int sizeOne, int *arrayTwo, int sizeTwo) {
if(sizeOne != sizeTwo) {
return false;
} else {
for(int index(0); index < sizeTwo; index++) {
arrayOne[index] = arrayTwo[index];
}
return true;
}
}
/*
CopyArray(Array1, Arrary1Size, Array2, Array2Size): Will copy the contents of Array2 to Array1 iff the two arrays are of equal size. If the copying process is successfully completed, then a value of 1 is returned, otherwise a value of 0 is returned.
*/
void MyArray::EnterArray(int *array, int size){
int index(0);
while(index < size) {
int value(0);
cout << "Enter the value for index: " << index + 1 << endl;
cin >> value;
array[index] = value;
}
}
/*
EnterArray(Array1, Array1Size): Will populate the Array1 from the stdin by prompting the user to enter all elements of the array.
*/
我得到的错误类似于:main.cpp:'LineNumber': error。 'MyArray.cpp 中的每个函数' 未在此范围内声明
(我会复制粘贴确切的错误,但我无法从我用来连接到远程主机的终端复制粘贴我编译我的代码)
几个小时以来,我一直在尝试解决这个问题,但我无法弄清楚,我什至查看了其他 Stack 帖子,例如 'foo' was not declared in this scope c++
非常感谢任何帮助,谢谢。
我也没有写main.cpp,它是随作业给的。
最佳答案
在 C++ 中,类 A
的函数 foo
可以被 A.foo()
或 A_ptr-> 调用foo()
,只是一个 foo()
是行不通的。
我认为你在这里不需要类,只需使用免费功能即可。
如果您确实想使用 MyArray
类,则无需在 main.cpp 中编写 int *Array1, *Array2;
并将其作为参数传递。最好将数组存储在 MyArray
类中。
就像这样。
主要.cpp
#include <iostream>
#include "MyArray.h"
using namespace std;
int main(int argc, char * argv[]) {
//int *Array1, *Array2;
MyArray Array1;
int Array1Size(10);
int Array1Value(0);
cout << "Enter Size and Initial value for Array1: ";
cin >> Array1Size >> Array1Value;
Array1.CreateArray(Array1Size);
Array1.InitArray(Array1Size, Array1Value);
cout << "Printing Array1:" << endl;
Array1.PrintArray(Array1Size);
cout << endl;
return 0;
}
MyArray.h
#ifndef _MyArray_h_included_
#define _MyArray_h_included_
class MyArray
{
public:
void CreateArray(int size);
void InitArray(int size, int value);
void PrintArray(int size);
private:
int *m_array;
};
#endif
MyArray.cpp
#include <iostream>
#include "MyArray.h"
using namespace std;
void MyArray::CreateArray(int size) {
m_array = new int[size];
}
void MyArray::InitArray(int size, int value) {
for(int index(0); index < size; index++) {
m_array[index] = value;
}
}
void MyArray::PrintArray(int size) {
for(int index(0); index < size; index++) {
cout << "Value of index: " << index << " is " << m_array[index] << endl;
}
}
我忽略了您的解决方案中的一些函数以及析构函数,您应该在其中使用 delete[]
关于C++ "Function"未在此范围内声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15217338/
我有三个 td,并且正在尝试将每个内部的函数限制为仅该 td。我该怎么做呢?使用此代码,它会获取所有 3 个图像并将它们全部插入到 h2 之前: jQuery("td.frontpage_news")
这是所需的通用公式:if((b2-b1)=c1,True,False但是,我需要 b2-b1约等于 c1 , 在 5 内大约单位(在本例中为秒)。有没有可以处理这个的函数? 最佳答案 你也可以试试这个
我有三个整数,作为命令行参数传入后赋值给变量。我想验证每个整数都在 1-5 范围内。有没有一种方法可以在不使用如下所示的 if 语句的情况下在 Java 中完成此操作?我想避免这样做(注意伪代码):
检查某个变量 X 是否在某个变量 Z 的 n 个数字之内的最简洁方法是什么。n 是任意定义的数字(即 3)。 所以我想要 if (z {something} x){ // run code i
我的顶级 build.gradle (Gradle 2.2) 中有类似的东西 ext.repo = "https://my-artifactory-repo" buildscript { re
我只是在我的 jsp 页面中进行随机技巧和测试。我想使用 Attributes 将 request 范围对象存储在 session 范围对象中。存储后,当尝试从请求属性中提取值(存储在 session
我正在使用 Spring 。我有一个外部化属性文件。我正在按如下方式加载它。 现在我如何将 session 中的属性作为键值对保存? 我尝试编写一个扩展 ServletContextListene
我有以下范围: scope :billable, -> (range_start = nil, range_end = nil) { joins(:bids) .where("au
请看我的示例代码: var testObject = new SomeClass(); using (testObject) { //At this point how can the te
我目前在保持在 vector 范围内时遇到一些问题。 在下面的代码中,我试图检查正在检查的数字是否小于或等于它后面的数字 #include #include #include bool fun(
有人可以帮我解决下面的(简化的)代码吗?我试图从幻灯片事件函数中调用 doTheSlide() 函数。我对 JS 范围的理解仍然有点可疑。 实现这一目标的正确方法是什么?我收到此错误: Uncaugh
如何在 Swift 中检查时间是否在下午 6 点到晚上 11 点之间?我在使用 NSDateFormatter 时遇到了困难,我觉得一定有更简单的方法。 最佳答案 使用NSCalendar: let
我目前正在尝试创建一个 2D 横向滚动条,并且我目前有我的“世界”绘图(暂时是一个大白框),但我无法弄清楚世界地图的边缘与边缘之间的任何关系确保视口(viewport)始终完全被 map 覆盖。 我的
我正在学习李普曼,而且我只是在学习。我在这里尝试编写一个代码,该代码将返回 vector 中的最小元素。当我在 Codeblocks 中编译我的代码时,它说:“模板声明不能出现在 block 范围内”
我有三个日期对象。我该如何比较它们才能确定它们之间的相对差异。 oldDate = newDate() - 5; midDate = newDate() - 2.5; newDate = newDat
我需要检查对象“objCR”是否存在于当前范围内。我尝试使用以下代码。 if(objCR == null) alert("object is not defined"); 让我知道哪里错了。 最佳答案
如何检查 IP 地址是否属于私有(private)类别? if(isPrivateIPAddress(ipAddress)) { //do something } 如有
我正在开发一个 Firefox 插件,它可以转换用户通过用户选择突出显示的屏幕温度。转换后,用户选择将替换为 ID 为 alreadyconverted 的 span HTML 元素,其中包含原始温度
我正在开发一个邮资应用程序,该应用程序需要根据多个邮政编码范围检查整数邮政编码,并根据邮政编码匹配的范围返回不同的代码。 每个代码都有多个邮政编码范围。例如,如果邮政编码在 1000-2429、254
我正在使用 excel 范围进行连接:Set rng = Range("A1:A8")如果范围内的单元格之一为空,则会添加一个空格。 你如何阻止这个空间被添加? 最佳答案 假设您在那些非空单元格中有常
我是一名优秀的程序员,十分优秀!