标签: visual-studio-2015

Visual C++ - 不覆盖虚方法

我有两节课:

template <class T>
class TArray
{
public:
    TArray& operator =(const TArray &array) { return Copy(array); }
    virtual TArray& Copy(const TArray &array) { ... }
}

class TString : public TArray<TCHAR>
{
public:
    TString& Copy(const TString &string) { ... }
}
Run Code Online (Sandbox Code Playgroud)

类也需要构造函数.但是Copy第二类中的方法不会覆盖第一类中的方法.考虑以下代码:

TString a = _T("aaa");
TString b;
b = a;
Run Code Online (Sandbox Code Playgroud)

在第三行程序中输入赋值运算符TArray.在它this,array真的是类型TString.但是当Copy调用时,程序输入方法TArray :: Copy,而不是我预期的TString :: Copy.为什么?

我正在使用Visual Studio 2015 RC,但我正在从Visual Studio 6.0项目移动一些代码,我很确定它已经在其中工作了.改变了什么?

c++ polymorphism inheritance templates visual-studio-2015

0
推荐指数
1
解决办法
45
查看次数

VARIANT结构(COM)似乎没有成员

使用Visual Studio 2015 RC和Windows SDK 7.1以及这个简单的DirectShow代码(带有COM的C++)

#include <dshow.h>
#include <iostream>

int main ()
{
    CoInitialize(nullptr);


    ICreateDevEnum* devEnum = nullptr;
    CoCreateInstance(
        CLSID_SystemClock,
        NULL,
        CLSCTX_INPROC_SERVER,
        IID_ICreateDevEnum,
        reinterpret_cast<void**>(devEnum)
    );

    IEnumMoniker* monikerEnum = nullptr;
    devEnum->CreateClassEnumerator(
        CLSID_VideoInputDeviceCategory,
        &monikerEnum,
        0
    );

    IMoniker* moniker = nullptr;
    ULONG fetchedCount = 0;

    while (monikerEnum->Next(1, &moniker, &fetchedCount))
    {
        IPropertyBag* propBag = nullptr;
        moniker->BindToStorage(0, 0, IID_IPropertyBag, reinterpret_cast<void**>(propBag));

        VARIANT var;
        VariantInit(&var);

        propBag->Read(L"FriendlyName", &var, nullptr);

        std::cout << var.bStrVal;

        VariantClear(&var);
    }
}
Run Code Online (Sandbox Code Playgroud)

导致:

错误C2039:'bStrVal':不是'tagVARIANT'的成员

tagVARIANT结构被定义为:

typedef /* [wire_marshal] */ struct tagVARIANT VARIANT; …
Run Code Online (Sandbox Code Playgroud)

c++ com directshow variant visual-studio-2015

0
推荐指数
1
解决办法
641
查看次数

Visual Studio 2015下拉列表,用于查找类中的过程

刚刚安装Visual Studio 2015,无法找到如何显示下拉菜单,以快速查找类中的特定功能或过程.

在此输入图像描述

visual-studio-2015

0
推荐指数
1
解决办法
319
查看次数

我可以在2015年同时拥有Win10 sdk和WP8.1 sdk

我卸载了VS2013而没有卸载带有更新1 SDK的WP8.1然后安装了VS2015社区但我现在找不到Win10 SDK.是因为我安装了WP8.1 SDK吗?我可以在VS2015中安装两个SDK吗?

补充:我安装了两个SDK,但是当我创建新项目时,我只能找到WP8选项,如下所示:

在此输入图像描述

谢谢.

windows visual-studio windows-10 visual-studio-2015 windows-10-mobile

0
推荐指数
1
解决办法
205
查看次数

Visual Studio 2015安装失败

我尝试在Windows 10上安装适用于Windows 10的Visual Studio 2015 Express,但它失败了并且没有安装.

这是一张图片: http://imgur.com/qWY56qD

我尝试再次卸载和安装,但它没有用.

这是日志文件.

这看起来像导致问题的部分:

MSI (s) (F4:78) [18:08:41:658]: SECREPAIR: A general error running CryptAcquireContext
MSI (s) (F4:78) [18:08:41:658]: Determining source type
MSI (s) (F4:78) [18:08:41:659]: Source type from package 'winexpress_coremsi.msi': 0
MSI (s) (F4:78) [18:08:41:659]: SECREPAIR: Hash Database: C:\WINDOWS\Installer\SourceHash{4D2824C5-DA58-3442-BB90-F71EA6B07EA9}
MSI (s) (F4:78) [18:08:41:661]: Note: 1: 2262 2: SourceHash 3: -2147287038 
MSI (s) (F4:78) [18:08:41:705]: SECREPAIR: New Hash Database creation complete.
MSI (s) (F4:78) [18:08:41:705]: SECREPAIR: Crypt Provider not initialized. Error:0
MSI (s) …
Run Code Online (Sandbox Code Playgroud)

failed-installation visual-studio-2015

0
推荐指数
1
解决办法
1万
查看次数

函数`feof`始终返回1

我正在尝试读取大小为114,808字节的二进制文件.我为文件分配内存,然后尝试使用fopen和读取文件fread.第一次fread被调用时,它总是以274个字节读取,并且后续调用feof始终返回1,即使显然没有到达文件的末尾.为什么是这样?

根据MSDN文档feof,"该FEOF函数返回非零值,如果读取操作已试图读到文件的结束;否则它返回0".所以我不明白是什么导致feof一直回归1.

这是我到目前为止的代码.任何帮助将非常感激.谢谢!

// Open source file with read-only access
if ( iError == ERROR_SUCCESS )
{
    #ifdef _MSC_VER
    #pragma warning(disable : 4996)
    #endif
    pFile = fopen( pSrcPath, "r" );

    if ( pFile == NULL )
    {
        iError = ERROR_FILE_NOT_FOUND;
    }
}

// Read in source file to memory
if ( iError == ERROR_SUCCESS )
{
    do
    {
        // Buffer pointer passed to fread …
Run Code Online (Sandbox Code Playgroud)

c c++ file-io feof visual-studio-2015

0
推荐指数
1
解决办法
201
查看次数

为什么 Windows 通用应用程序中没有 XmlNode.SelectSingleNode 方法?

我有一个 Xml,我想按名称获取单个元素。我尝试使用 SelectSingelNode 方法。这就是 MSDN 告诉你要做的:

https://msdn.microsoft.com/en-us/library/system.xml.xmlnode.selectsinglenode%28v=vs.110%29.aspx

目前我正在使用 XmlDocument 和 XmlNodeList 来读取 Xml。但这给了我整棵树。

string path = "xml_path.xml";
FileStream reader = new FileStream(path, FileMode.Open, FileAccess.Read);
XmlDocument xdoc = new XmlDocument();
xdoc.Load(reader);
XmlNodeList node = xdoc.GetElementsByName("name");
Run Code Online (Sandbox Code Playgroud)

我在 win-universal-app 中找不到 SelectSingeNode 方法。我正在使用 Visual Studio 2015。为什么他们删除了这个?还有另一种方法可以通过名称获取单个元素吗?

c# xml xml-parsing win-universal-app visual-studio-2015

0
推荐指数
1
解决办法
967
查看次数

WinForms c# 保存复选框状态,然后在程序再次打开时读取它

我正在制作一个主要由复选框组成的程序。我想在程序关闭之前保存复选框状态,然后让程序将复选框状态设置为上次的状态。

我已经看过几个关于此的问题和答案,并且我都尝试过。他们中的大多数都相当旧,并且正在使用 VisualStudio 2010。我尝试过使用属性设置,并且我还尝试创建一个文件,然后读取该文件并将 CheckBox 状态设置为最后的状态。

我对 C# 还很陌生,所以我一定做错了什么,我将不胜感激你们能给我的任何帮助。谢谢。

c# checkbox winforms visual-studio-2015

0
推荐指数
1
解决办法
2228
查看次数

创建虚拟目录 http://localhost:16858/ 失败并显示错误

我正在尝试在 VS2015 中加载一个 Web 项目,但出现以下错误。

创建虚拟目录 http://localhost:16858/ 失败并显示错误:文件名:redirection.config 错误:无法读取配置文件。

在此处输入图片说明

我试图删除 *.csproj.user 来重建文件。但它没有用。

如何解决这个问题呢 ?有什么建议 ?

.net visual-studio iis-express visual-studio-2015

0
推荐指数
1
解决办法
3650
查看次数

确定 vsprintf 输出的大小

我正在printf(const char * format, ...)为一个类实现一个类似的方法,在调用执行实际写入之前,我需要确定它的输出的确切大小,仅给出提供的format和给出的参数。va_listvsprintf()

是否有一个函数可以使用formatva_list来生成输出的确切长度?

c++ printf visual-studio-2015

0
推荐指数
1
解决办法
1125
查看次数