クラス内で静的メソッドを使用して、Windows C++ アプリケーションのコンソールのテキストの色を設定することはできますか? 私のコードは次のようになります。
Display.h:
class Display {
public:
Display();
static void setTextColor(int color);
};
Display.cpp:
#include <windows.h>
#include "Display.h"
void Display::setTextColor(int color) {
HANDLE cHandle;
cHandle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(cHandle, color);
}
main.cpp:
#include <iostream>
#include "Display.h"
int main(int argc, char *argv[]) {
std::cout << "HI"; //Outputs default color
Display::setTextColor(9);
std::cout << "HI"; //Still default color
return 0;
}
この静的メソッドがテキストの色を更新しない理由を誰か説明してもらえますか? この excat コードは、インラインに配置すると機能します。
お時間をいただきありがとうございます。