视觉C++不会接受
Visual C++ won't accept hOut
Visual C++不会接受hOut(标识符未定义)。我试着搜索并添加了所有需要的库,但仍然不起作用。据我所知,我需要包括的库是windows.h、cstdlib和stdlib.h这是我的代码:
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <iomanip>
#include <stack>
#include <cstdlib>
#include <string>
#include <windows.h>
#include <stdlib.h>
using namespace std;
class karta
{
public:
karta(string litery[], bool licznik[][13], string kolory[]);
~karta();
void WypiszKarte();
private:
string litera;
string kolor;
};
karta::karta(string litery[], bool licznik[][13], string kolory[])
{
bool karta_zmieniona;
do
{
karta_zmieniona = 0;
int losowana_litera = 0 + rand() % 13;
int losowany_kolor = 0 + rand() % 4;
if (licznik[losowany_kolor][losowana_litera]) //jesli mozemy jeszcze wylosowac daną litere
{
licznik[losowany_kolor][losowana_litera];
litera = litery[losowana_litera];
kolor = kolory[losowany_kolor];
karta_zmieniona = true;
}
} while (!karta_zmieniona);
}
void karta::WypiszKarte()
{
cout << setw(2) << kolor << litera;
}
karta::~karta()
{
}
int main()
{
string litery[13] = { "A" ,"1" ,"2" ,"3" ,"4" ,"5" ,"6" ,"7" ,"8" ,"9" ,"J" ,"Q" ,"K" };
string kolor[4] = { "+" , "-" , "*" , "=" };
bool licznik[4][13];
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 13; j++)
{
licznik[i][j] = { true };
}
}
vector<vector<karta>> plansza;
vector<karta> rzad;
for (int i = 0; i < 4; i++)
{
for (int i = 0; i < 7; i++)
{
rzad.push_back(karta(litery, licznik, kolor));
}
plansza.push_back(rzad);
rzad.clear();
}
for (int i = 0; i < 4; i++)
{
for (int i = 0; i < 6; i++)
{
rzad.push_back(karta(litery, licznik, kolor));
}
plansza.push_back(rzad);
rzad.clear();
}
for (int i = 0; i < plansza[i].size(); i++)
{
SetConsoleTextAttribute(hOut, BACKGROUND_RED);
cout << " " << i+1;
for (int j = 0; j < 8; j++)
{
plansza[j][i].WypiszKarte();
}
cout << endl;
}
system("pause");
return 0;
}
为什么会这样?
如果您没有在"stdafx.h"
中定义hOut,则hOut未定义且未初始化(因为其他头文件都在标准库中,所以它们永远不会定义hOut)如果是这样,请添加代码:
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
在您的代码之前:
SetConsoleTextAttribute(hOut, BACKGROUND_RED);
(注意:hOut只是我们定义的一个变量,您可以将其更改为任何合法名称)。
相关文章:
- 视觉studo 2019中的漫画和静态/动态绑定
- 如何改变c++应用程序的视觉效果
- 视觉工作室项目.提取源文件夹名称
- 为什么我在尝试模板时遇到视觉工作室C++错误
- 视觉工作室 2017;启用 /permissive 时,类型 "const wchar_t *" 的参数与类型 "PWSTR" 的参数不兼容
- 视觉我希望一个函数在另一个函数C++中进行计算
- 视觉 如何循环访问C++中遵循类似格式的多个.txt文件?
- remove(str.begin(), str.end(), );无法正常工作(我正在使用视觉工作室 2012)
- 背包问题,视觉工作室问题
- 如何在视觉c ++项目中添加箭头键作为修饰键Microsoft
- 如果变量数据包含大于 vector 所有元素的整数,则仅在视觉工作室上接收"矢量下标超出范围"?
- 视觉C++未按所需顺序打印
- 视觉C++使用 map 来比较字符串中的每个单词
- C++11 中好友模板类的视觉C++错误
- 迭代器跳闸视觉C++ 2017 断言
- 视觉C++联盟,垃圾价值
- 无法安装由视觉C++制作的apk
- C++ 调试断言失败 - 矢量下标超出视觉工作室的范围
- 视觉C++:在 DLL 加载期间,全局变量初始化顺序是否具有确定性?
- 使用外部文件中的变量进行视觉C++