问题列表 - 第46188页

如何使用 decltype 获取引用的类型?

我正在 CodeGear RAD Studio 中使用 decltype 编写一些代码。我尝试过简单的解决方案,它看起来与此没有什么不同:

\n\n
int main(int, char**) {\n    int i;\n    int &ir = i;\n    decltype((ir)) ir_clone = ir;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

当然,这无法编译:内部编译器错误。我相当怀疑该代码没有什么特别的错误,并且存在关于引用表达式的编译器错误。(顺便说一句,g++ 的代码没有问题,并且编译得很好。)但这无助于解决问题,因为平台是不可协商的。

\n\n

如果上面我写了

\n\n
    decltype(ir) ir_clone = ir; /* No extra parens */\n
Run Code Online (Sandbox Code Playgroud)\n\n

它可以按预期编译并工作。然而,问题并没有就此结束,因为这不能正确计算环境的常量性。尤其:

\n\n
struct S { int i; } s;\nconst S* p = &s;\ndecltype(p->i)   i0 = s.i; /* i0 is an int */\ndecltype((p->i)) i1 = s.i; /* i1 is a const int& */\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果我不使用括号使参数成为表达式,我就会失去我需要的参数的常量性。

\n\n

我\xc2\xa0可以使用的另一个工具是简单模板,如下所示:

\n\n
template<class T> struct unref     { …
Run Code Online (Sandbox Code Playgroud)

c++ decltype c++builder-2010 c++11

5
推荐指数
1
解决办法
4436
查看次数

如何判断Postgresql表空间中的内容?

我创建了一个名为的新表空间indexes,我正在尝试删除旧的表空间indexes_old,它曾经包含一些表和索引.当我尝试删除表空间时,我得到:

=> drop tablespace indexes_old;
ERROR:  tablespace "indexes_old" is not empty
Run Code Online (Sandbox Code Playgroud)

但是当我试图看到那里有什么时,似乎没有表存在于该表空间中:

=> select * from pg_tables where tablespace = 'indexes_old';
schemaname | tablename | tableowner | tablespace | hasindexes | hasrules | hastriggers
------------+-----------+------------+------------+------------+----------+-------------
(0 rows)

=> select * from pg_indexes where tablespace = 'indexes_old';
schemaname | tablename | indexname | tablespace | indexdef
------------+-----------+-----------+------------+----------
(0 rows)
Run Code Online (Sandbox Code Playgroud)

那么那个表空间阻止我放弃它的是什么?

如果重要,我只是使用pg_upgrade工具从Pg 8.4迁移到Pg 9.0.

表空间如下所示:

    Name     |  Owner   |    Location     | Access privileges | Description 
-------------+----------+-----------------+-------------------+-------------
 indexes     | …
Run Code Online (Sandbox Code Playgroud)

postgresql tablespace

20
推荐指数
2
解决办法
3万
查看次数

在构建之后复制不同位置的文件

要在发布构建后复制不同位置的文件,我尝试了以下操作:

编辑csproj文件并添加此代码,将dll复制到相对路径的bin.

<PropertyGroup>  
<CopyAllFilesToSingleFolderForPackageDependsOn>  
    CustomCollectFiles; 
    $(CopyAllFilesToSingleFolderForPackageDependsOn);  
    </CopyAllFilesToSingleFolderForPackageDependsOn>  
</PropertyGroup> 
<Target Name="CustomCollectFiles">
  <ItemGroup>
    <_CustomFiles Include="..\*project*\**\*.dll" />
    <FilesForPackagingFromProject  Include="%(_CustomFiles.Identity)">
      <DestinationRelativePath>bin\%(Filename)%(Extension)</DestinationRelativePath>
    </FilesForPackagingFromProject>
  </ItemGroup>
</Target>
Run Code Online (Sandbox Code Playgroud)

这绝对没问题.我只是想知道是否可以使用像这样的post build事件来完成..(这不起作用).

if $(ConfigurationName) == Release xcopy /y "$(ProjectDir)$(OutDir)$(TargetFileName)" "$(SolutionDir)$(OutDir)" 
Run Code Online (Sandbox Code Playgroud)

第一种方式是在VS2010中单击发布的"唯一方法"吗?值得关注的是,在VS2010中,csproj文件中的更改不会显示在任何地方.

msbuild copy visual-studio-2010

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

SO_RCVBUF的最小值是多少?

为了最大限度地减少延迟(我不关心数据包丢失),我想要UDP最小的接收缓冲区.但是,当我将SO_RCVBUF设置为低于1000(使用setsockopt)时,我的程序永远不会收到任何数据包.我发送的数据报有28个字节的数据,总线上数据包大小为70字节,那么为什么SO_RCVBUF <1000时我什么都收不到?我该如何改变它,以允许更小的缓冲区大小?

另外,是否可以根据数据包数而不是字节数来设置缓冲区?或者有什么方法可以手动清空它吗?

c networking buffer udp system-calls

5
推荐指数
1
解决办法
4646
查看次数

.Net GroupBox 中的定位控件

通常,我使用以下方法编写可(优雅地)调整大小的表单。

using System.Drawing;
using System.Windows.Forms;
namespace silly
{
    public class Form1 : Form
    {
        private GroupBox g;
        private Button b1, b2;
        public Form1()
        {
            Init();
        }
        private void Init()
        {
            //create and add controls.
            this.Controls.Add(g = new GroupBox());
            g.Controls.AddRange(new Control[] { 
                    b1 = new Button(),
                    b2 = new Button()});


            g.Text = "group";
            b1.Text = "b1";
            b2.Text = "b2!";


            b1.AutoSize = b2.AutoSize = true;


            g.Resize += new System.EventHandler(g_Resize);

        }

        private void g_Resize(object sender, System.EventArgs e)
        {
            b1.Size = b2.Size = new …
Run Code Online (Sandbox Code Playgroud)

c# user-interface controls groupbox winforms

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

WSAGetLastError返回零

我在叫ConnectEx()方法.它返回FALSE值,所以我通过WSAGetLastError调用检查错误代码.有时会发生返回值为零的情况.这是什么意思?

winapi

5
推荐指数
1
解决办法
5216
查看次数

在预期超类时返回Java中的子类

编辑:这没用,因为我有:

class Animal { ... }
class Horse extends Animal { ... }
class Unicorn extends **Animal** { ... }
Run Code Online (Sandbox Code Playgroud)

很明显,这是一个错字,独角兽应该延伸马,而不是动物.在这里,我以为我在Java的多态性中找到了一个漏洞!


也许这只是我,但这没有意义.假设我有两个Java,Horse和Unicorn类(它是Horse的子类):

public class Horse {
  public String speak() {
    return "Wow, a talking horse!";
  }
}

public class Unicorn extends Horse {
  @Override
  public String speak() {
    return "Unicorns really exist?!";
  }
}
Run Code Online (Sandbox Code Playgroud)

此代码无法编译:

public Horse getHorse() {
  return new Unicorn(); // Doesn't compile
}
Run Code Online (Sandbox Code Playgroud)

我在Eclipse下使用JRE或JSE 1.6获得编译错误"无法从Unicorn转换为Horse".

为什么不编译?每只独角兽也是一匹马,因此,我正在返回一个有效的马匹实例......不是吗?

我的问题是关于多态如何在Java中工作.我希望这能奏效.对于它的价值,这段代码在.NET 2.0中编译(也许这就是为什么我希望它也能在Java中工作).

java polymorphism inheritance

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

jQuery ValidationEngine:如何验证一组字段中至少有一个不为空?

在我们的项目中,我们使用ValidationEngine,我们无法用另一个插件替换它.

我们的表单有十个输入,其中一些是可选的,但必须至少包含一个可选字段.

那么,在这种情况下如何验证输入?

样品:

form
  input1
  input2
  intpu3
Run Code Online (Sandbox Code Playgroud)

input1:必需

必须存在input2和input3中的至少一个 - 如果两者都为空,则验证失败.

jquery jquery-validation-engine

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

嵌套的IF语句PHP

经过一段时间的努力 - 我有一个相当冗长的嵌套if语句,我正在研究如何改进它并使其更有效率.我确实想到了一个开关 - 但我看不出我怎么能分开它.

任何想法都赞赏

  $portfolioItems [$i] = array(//assign vars into array
  'imagePath' => '/sites/jda_redev/'.$myrow_home->path.'/thumbs/thumbs_'.$myrow_home->filename,
  'altText' => $myrow_home->alttext,
  'description' => $myrow_home->description,
  'client' => $extra_client->field_value,
  'job' => $extra_job->field_value,
  'channel' => $extra_channel->field_value,
  'channeltwo' => $extra_channeltwo->field_value,
  'channelthree' => $extra_channelthree->field_value,
  'channelfour' => $extra_channelfour->field_value,
  'channelfive' => $extra_channelfive->field_value,
  'sector' => $extra_sector->field_value,
  'workerone' => $extra_workerone->field_value,
  'workertwo' => $extra_workertwo->field_value,
  'gallery' => $galleryName,
  'mediaType' => $media_type->field_value,
  'videoName' => $video_name->field_value
  );

if ( $portfolioItems [$i]['imagePath'] == "" )
      {$portfolioItems [$i]['imagePath'] = " ";}
      if ( $portfolioItems [$i]['altText'] == "" …
Run Code Online (Sandbox Code Playgroud)

php

0
推荐指数
2
解决办法
875
查看次数

可以检查weka中逻辑回归分类器学到的权重吗?

我正在训练Weka的逻辑回归分类器,我正在试图弄清楚幕后发生了什么.我知道我可以使用分类器来查看使用该logistic.distributionForInstance方法的每个实例的置信度分布,但有没有办法可以查看分类器学到的特征权重?

谢谢

regression classification weka

5
推荐指数
1
解决办法
991
查看次数