C4430 and C2146 Visual Studio errors
C4430 and C2146 Visual Studio errors
我在这里搜索了很多帖子,似乎找不到问题的解决方案。当我试图编译我的程序时,我遇到了两个错误,这两个错误都来自我的一个头文件。以下是错误:
错误1错误C2146:语法错误:缺少";"在标识符"数据存储"之前
和
错误2错误C4430:缺少类型说明符-假定为int。注意:C++不支持默认的int
在我的cpp文件中,我有范围解析操作符,并且在任何东西下面都没有任何歪歪扭扭的红线。程序也编译了一次,然后我保存了它,重新打开了程序,它给了我这些错误。所以我认为我最初"欺骗"了编译器或其他奇怪的东西。所以任何帮助都会很棒!
#ifndef INTERNET_H
#define INTERNET_H
#include <windows.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <sstream>
#include "Wininet.h"
#include "Internet.h"
#include "ForexPrices.h"
using namespace std;
class Internet
{
private:
ForexPrices datastore;
BOOL bResult;
char *chPtr0,
*chPtr1,
*chPtr2;
DWORD dw1,
dw2,
dwIndex;
HINTERNET hInet, hRequest;
HINTERNET h_Inet;
char ch_Buffer[4096],
ch_Line[256];
std::ofstream of_OutFile;
public:
Internet();
void openFile();
void internetCheckConnection();
HINTERNET internetopen();
HINTERNET internetconnect();
void internetclose();
void closeFile();
char* grabMargin();
double grabDailyAverageLine();
void setcurrency(char *currencyfiller1);
};
#endif
〔error C2146:语法错误:标识符‘datastore’之前缺少‘;’〕提示‘datastore‘之前的类未知,这将导致下一个错误。
[error C4430:缺少类型说明符-假定为int。注意:C++不支持默认int]是第一个错误的结果。因为编译器不知道ForexPrices类是什么,所以它试图使用其他东西(我不是默认int的专家)。这是不受支持的,因此您会看到此错误。
由于某些原因,您的ForexPrices类未知。我看到您包含了上面的文件ForexPrices.h。我会确保您的类的名称在头文件中与这里使用的名称完全相同。还要确保它没有在未包含的命名空间中声明。如果是这样,您将需要另一个using语句或引用命名空间中的类(YourNamespace::ForexPrices)。这是一个很好的做法,不要总是相信"歪歪扭扭"我认为。Visual studio有时会出错,至少在解决方案完全解析之前是这样,但在解析需要一些时间的大型项目中,这更是一个问题。
相关文章:
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 试图在visual studio上用C++创建一个桌面应用程序
- 如何在MS Visual Studio 2019中运行QT UI
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- Visual Studio Code - C++ Debugger 無法啟動
- Visual Studio 2019:插入多个C++风格的单行注释
- Visual Studio Code "undefined reference to `WinMain@16'"
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- Visual Studio中的函数声明和函数定义问题
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- Visual Studio mkl_link_tool.exe链接错误
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- Visual Studio Build Errors not in UI
- SDL errors Visual Studio 2013
- C4430 and C2146 Visual Studio errors
- Visual Studio 2013 - C++ Errors
- Visual Studio 2010 SDL_Event errors
- winsock errors visual studio