为什么我的类函数不使用我的全局变量?
why is my class function not using my global variables?
名为"listt"(有意双精度"t"(的字符串变量似乎没有被声明,尽管它作为全局变量存在。
我在网上寻找解决方案,我能找到的只是人们告诉我确保我没有"使用命名空间 std";...反正不是。
#include <iostream>
#include "sally.h"
#include <string>
#include <stdlib.h>
using namespace std;
//globals
/////////////r//c
//3 = what it is you're doing, the day its happening, the time its happening
string listt[7][3];
//functions
int main()
{
int option1;
while(option1 != -1){
sally obj;
option1 = obj.menuop();
obj.direct(option1, obj);
}
}
头文件:
#ifndef SALLY_H
#define SALLY_H
class sally
{
public:
sally();
int menuop();
void direct(int a, sally obj);
void showlist();
void addlist();
void removelist();
virtual ~sally();
protected:
private:
int option1;
};
#endif // SALLY_H
"添加列表函数"的主体
void sally::addlist(){
system("cls");
string days[7] = {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
for(int num = 0; num<7; num++){
listt[num][0] = days[num];
cout<<"On "<<days[num]<<" you will ";
cout<<...<<endl;
cin>>listt[num][1];
system("cls");
cout<<"On "<<days[num]<<" you will "<<listt[num][1]<<" at *insert 24 hour time here*";
cout<<"..."endl;
cin>>listt[num][2];
}
}
在.h
文件中,您需要声明(而不是定义(全局变量(在类外部(。
extern string listt[7][3];
包含此头文件的每个源文件都将看到声明,但定义仅出现在一个模块中(此处的主源文件(。
相关文章:
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 内联函数中具有内部链接的全局变量
- 为什么我的字符串变量没有打印完整的字符串?
- 为什么我的全局 new() 覆盖被绕过了?
- 为什么我的全局变量似乎没有变化?
- 为什么我的数组值与此处的全局变量不匹配?
- 跨多个类的全局变量而不会出现重定义错误?
- 为什么我的双变量通过添加 c++ 显示 nan?
- 我应该使我的局部变量常量还是可移动的
- 仅表头库中的全局变量
- Qt C++创建一个所有类都可以访问的全局变量
- 在 C++17 中修改 constexpr 函数中的全局变量
- C++从 std::async 函数读取命名空间中的全局变量标志
- C++无法更新我的一个变量
- 为什么我的类函数不使用我的全局变量?
- 有没有办法在两个共享对象之间使用相同的全局变量?
- 类中的静态成员变量和C++中的全局变量有什么区别?
- 为什么我的全局变量会引起问题
- 为什么我的全局变量必须声明为指针
- 如何在循环外打印总和?我认为全局变量和局部变量的减速存在一些错误