缺少类型的指定符

Missing type specifier

本文关键字:类型      更新时间:2023-10-16

在代码下方编译时,我缺少类型的指定词错误。我可以解决这个问题吗?我已经尝试了几天,无法取得任何进展。完成了几乎所有针对这个类似问题的建议,但似乎无法通过

cpp

#include "MemoryProtection.h"
#include "Resources.h"
#include "stdafx.h"

pWriteProcessMemory pfnWriteProcessMemory = NULL;
pReadProcessMemory pfnReadProcessMemory = NULL;

标题

#pragma once
#include <Windows.h>
#include "3rddetours.h"
#include <Psapi.h>
#include <atlstr.h>
#pragma comment(lib, "Detours.lib")
typedef LONG NTSTATUS;
#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)

LRESULT CALLBACK GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam);
typedef BOOL(WINAPI* pReadProcessMemory) (HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, SIZE_T nSize, SIZE_T* lpNumberOfBytesRead);
typedef BOOL(WINAPI* pWriteProcessMemory) (HANDLE hProcess, LPVOID lpBaseAddress, LPCVOID lpBuffer, SIZE_T nSize, SIZE_T* lpNumberOfBytesWritten);

错误

Severity    Code    Description Project File    Line    Suppression State
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int        6   
Error   C2146   syntax error: missing ';' before identifier 'pfnWriteProcessMemory'     6   
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int        7   
Error   C2146   syntax error: missing ';' before identifier 'pfnReadProcessMemory'      7   
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int        8   

如果您使用的是预编译的标题#include "stdafx.h"应该是第一个预处理器行。否则所有以前的包含都被覆盖。

/yu(使用预编译标题文件)

编译器将.h文件之前的所有代码视为预编译。它跳到与.h文件关联的#include指令之外,使用.pch文件中包含的代码,然后在文件名之后编译所有代码。 -https://msdn.microsoft.com/en-us/library/z0atkd6c.aspx

另请参见Visual Studio中" STDAFX.H"的用途?和cplusplus.com上的新手stdafx.h。